Re: Caching file related information using info or hints?

Rolf Rabenseifner (Rabenseifner@RUS.Uni-Stuttgart.DE)
Wed, 19 Jun 1996 16:49:54 +0200 (DST)

John Wilson wrote:
> I was considering sending the following regarding how would
> a library writer cache file related information. Leslie
> Hart's proposal for info arguements would permit this type
> of operation. I do not think Rolf Rabenseifner's proposal
> would permit this. ...

John,

is it enough if I add an analogy to the three hints accessor functions
of the june proposal (page 262f) to my proposal?

There is a little problem: "OUT value (choice)" is not possible
because a FORTRAN application must decide to use a string or a
numerical storage unit before calling a routine like
MPI_INFO_GET_ELEMENT(..... OUT value (choice)).

And the other problem is, that you (or other) like to have
not only a interface to get the i'th value but also a
interface to get the value of a given key.

A "positional" interface could be:

MPI_INFO_COUNT (IN info, OUT count)
MPI_INFO_N_TYPE (IN info, IN n, OUT type)
MPI_INFO_N_STRING (IN info, IN n, IN max_string, OUT string)
MPI_INFO_N_KEY_STRING (IN info, IN n, IN max_key, IN max_string,
OUT key, OUT string_value)
MPI_INFO_N_KEY_INT (IN info, IN n, IN max_key,
OUT key, OUT integer_value)
MPI_INFO_N_KEY_FLOAT (IN info, IN n, IN max_key,
OUT key, OUT float_value)

with type = MPI_INFOTYPE_STRING, MPI_INFOTYPE_KEY_STRING,
MPI_INFOTYPE_KEY_INT or MPI_INFOTYPE_KEY_FLOAT

A "key"-interface could be:

MPI_INFO_KEY_GET_TYPE (IN info, IN key, OUT type)
MPI_INFO_KEY_GET_STRING (IN info, IN key, IN max_string,
OUT string_value)
MPI_INFO_KEY_GET_INT (IN info, IN key, OUT integer_value)
MPI_INFO_KEY_GET_FLOAT (IN info, IN key, OUT float_value)

with type = MPI_INFOTYPE_KEY_STRING,
MPI_INFOTYPE_KEY_INT or MPI_INFOTYPE_KEY_FLOAT
(MPI_INFOTYPE_STRING is not possible in this interface)

Does anyone see a chance to have less routines for the same
functionality?

Although the GET-interfaces are more complex with my INFO-proposal,
I think the INFO-proposal is good, because it is small and has
all functionality to support all areas (dynamic, IO and 1sided).

Rolf


Rolf Rabenseifner (Computer Center )
Rechenzentrum Universitaet Stuttgart (University of Stuttgart)
Allmandring 30 Phone: ++49 711 6855530
D-70550 Stuttgart 80 FAX: ++49 711 6787626
Germany rabenseifner@rus.uni-stuttgart.de