'Does the MPI standard guarentee that users can do strcpy and printf
on info and that implimentations can do:
printf("The info argument <%s> is not understood.\n",info)
to issue error messages?'
OR
'Does MPI allow implimentations to define any sort of info structure
they my find useful?'
Allthough the standard may describe "info" as opaque to MPI, any
given implementation will need to specify what an "info" argument
looks like for its purposes. I suspect that even if the standard
says it is a void*, the majority of implementations will say it is
a NULL terminated string. The following is valid ANSI C code:
void foo(void*);
main()
{
foo("string");
}
so the use of void* in the binding would not preclude using:
MPI_Spawn(...,"np=2,arch=RS6k",..)
in most MPI implementations.
What void* would allow is for some implimentations to do
something like declare an info_struct type in mpi.h and then:
int RM_Get_resources(char *, info_struct*);
info_struct info_block;
RM_Get_resources( "nice user-readable string",&info_block);
MPI_Spawn( ,,, &info_block, ...);
The option of using char* without restricting the format to being
a NULL terminated string rules out both ideals described above.
(safe string manipulation and info structs).
Regards - Dick
Dick Treumann POWER Parallel Division
(Internet) treumann@kgn.ibm.com IBM -- Poughkeepsie, NY
(VNET) TREUMANN at KGNVMC Tel: (914) 433-7846
(internal) treumann@windsurf.kgn.ibm.com Fax: (914) 433-8363