[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
--
Jeff Hammond
jeff.science at gmail.com
More information about the discuss
mailing list