[mpich-discuss] Predefined datatype implementation

Jeff Hammond jeff.science at gmail.com
Tue Nov 19 16:29:06 CST 2013

>> FWIW, even if MPI_VERSION and MPI_SUBVERSION are set correctly,
>> there’s no guarantee that these types are available.  Types are only
>> defined based on what compiler you use.  For example, if you use a C89
>> only compiler, these types will not be available.

Wouldn't the C89-compiled MPICH need to support these datatypes to
provide interoperability with C99 code in exactly the same manner as
it provides Fortran and C++ types for interoperability with code
written in those languages?  It is ambiguous in what context the word
"use" is used here so maybe I am misinterpreting your statement.

> Though with MPICH, that is decided at configure time.  If you later add
> -std=c89, the header does not avoid defining the types.  Note that some
> applications need to build different modules with different language
> standards.
>> configure is the only reliable check for these.
> That's what we have always done, but it ends up being quite a lot of
> configure tests and some people complain because configure takes 100x
> longer on a multi-million dollar file system than it takes on a laptop,
> so I was double-checking that they were all necessary.

Filesystem performance is a red herring.  Don't compile on the
gold-plated filesystem.  Use /tmp or /scratch, as suggested by
https://www.alcf.anl.gov/user-guides/compiling-and-linking-faq.  Every
Linux login node has /tmp.


Jeff Hammond
jeff.science at gmail.com

More information about the discuss mailing list