> I think that having an attribute or other mechanism for the user to tell
> the implementation of his intention to cheat and use MPI_BYTE when he knows
> better is a bad idea on philosophical grounds, which are important. MPI
> went to some effort to provide a way for the user to write really portable
> code, and bypassing it would be like telling a C compiler not to do type
> checking. You might have less trouble getting your code to compile, and it
> might run anyway, but it wouldn't (even) be C.
**********
> To be realistic as well as philosophical, programmers are lazy, and the MPI
> Forum did not find a way to make the construction of a complex datatype easy.
> (Although the current mechanism is incredibly elegant compared with some we
> looked at!) The problem is that MPI is a library, not a compiler. What is
> needed to address the convenience issue is a tool that behaves a little bit
> like a compiler. It would read the declarations of datatypes in the C code
> and then produce the sequence of MPI calls needed to construct the
> corresponding MPI datatype. I can envision this being bound to a keystroke in
> my editor in such a way that the construction of complex MPI datatypes would
> be a pleasure. Wouldn't this be a fun tool to write? How can you resist?
***********
> Rusty
[ Sorry so slow, I'm just catching up on my MPI e-mail. ]
On Rusty's last point, Werner Augustin of Uni Karlsruhe, just
developed a toolset not unlike that which Rusty envisages as part of
EPCC's Summer Scholarship Programme this year. There are separate pre-
processor tools for C (converting marked structs) and for Fortran 77
(converting marked COMMON blocks); both tools are based on public-
domain lex/yacc code and grammars.
The project report is available via the web at URL:
http://www.epcc.ed.ac.uk/ssp/1996/projects96.html
"EPCC-SS96-10 MPI Datatypes Toolset" Werner Augustin
I hope to do further development and testing of the code and to make
it freely available sometime soon. (I like the idea of integrating
with an editor: "mpiify-region"?). Please contact me if you have any
questions on this work.
thanks,
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-=-=- A. Gordon Smith -=- Edinburgh Parallel Computing Centre -=-=-
=- http://www.epcc.ed.ac.uk/~smith -=- Phone +44 (0)131 650 6712 -=
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=