Re: [mpich-discuss] Predefined datatype implementation
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 [email protected]
participants (1)
-
Jeff Hammond