1) Have exactly one Canonical representation. We need some consensus on what
this should look like.
2) Assemble all the relevant standards and some how support them. We need a
comprehensive list of these standards and mappings from all language types
to the standard(s) types.
3) Target a large number of native machine types and provide translation on
input and output. We need syntax and semantics on how to make this happen.
I think the multiple language mappings can make this messy.
4) Have a small number of External representations. We need a consensus on
how many and what they should look like.
5) Forget it (this proposal is the easiest to write up :-).
Pros and cons:
1: The syntax is easy for this one. At most one translator needs to be
written. It will either consume more memory/disk or loose precision depending
on whether we choose something short or long.
2: There can be a lot of standards out there (although, I only found 2
official looking ones in my looking.)
XDR: We have to work out the details of MPI_BYTE and MPI_CHAR, I think one
choice could lead to each taking 32 bits per octet. The other choice would
lead to padding that the user may have to be aware of (1 byte takes the
same space as 2, 3, or 4 bytes).
3: I personally don't see the vendors buying this one, but I am willing to be
surprised. It does seem to solve a lot of problems. The syntax could get
rather complicated, although we could predefine data set types such as 32-bit
SPARC, 64-bit MIPS, ...
4: This requires more than one set of translators. It allows for potentially
a "small" representation and a "big" representation (perhaps making a few more
people happy, while at the same time making more miserable :-)
5: We should at least strongly suggest that the vendor enumerate the nature of
internal and native representations in their documentation so that a non-MPI
program has a shot at reading data.
BOTTOM LINE: We need one or more VERY SPECIFIC proposals before the next
meeting.
Regards,
Leslie Hart
Leslie Hart (hart@fsl.noaa.gov) (303) 497 7253
CIRA
NOAA/Forecast Systems Laboratories
Aviation Divison
Model Verification and Production Assistance Branch
High Performance Computing Section
R/E/FS5
325 Broadway
Boulder, CO 80303