[Darshan-users] Different builds for each MPI/compiler

Phil Carns carns at mcs.anl.gov
Wed Sep 9 12:38:04 CDT 2015

On 09/09/2015 10:55 AM, Chih-Song Kuo wrote:
> *Von:*darshan-users-bounces at lists.mcs.anl.gov 
> [mailto:darshan-users-bounces at lists.mcs.anl.gov] *Im Auftrag von *Phil 
> Carns
> *Gesendet:* Mittwoch, 9. September 2015 15:52
> *An:* darshan-users at lists.mcs.anl.gov
> *Betreff:* Re: [Darshan-users] Different builds for each MPI/compiler
> On 09/09/2015 06:55 AM, Chih-Song Kuo wrote:
>     Hello Darshan user community,
>     I just started using Darshan. Despite it runs pretty well, I
>     wonder if I have to create different builds for each combination
>     of MPI and compiler. I had this concern because you wrote some
>     issues about libfmpich.so. I as a sales consultant of an
>     HPC-system vendor run benchmarks with many combinations of MPI and
>     compilers to advise our customer the best choice.
>     Your insight will be greatly appreciated.
>     Chih-Song
> Hi Chih-Song,
> I have two pieces of information that might be helpful:
> a) The underlying compiler generally doesn't matter as much as the MPI 
> library itself.  We usually compile Darshan itself with GNU compilers 
> for maximum compatibility; the resulting Darshan library should be 
> compatible with most any compiler/linker.
> b) As for the MPI library, the MPICH ABI compatibility initiative 
> (https://www.mpich.org/abi/) should help in theory by making sure that 
> quite a few of the MPI implementations have a compatible binary 
> interface.  Our team hasn't tested this capability first hand, so I 
> can't guarantee it will work, but I think the prospects are good.
> thanks,
> -Phil
> Hi Phil,
> Thanks. It looks like I might be worrying too much. According my 
> experience with IPM’s I/O profiling module, different MPIs seem to 
> have  some difference in the appearance of the “const” modifier which 
> caused some trouble in the compilation.

This would mainly be an issue for mixing MPI 2 and MPI 3 implementations 
(const correctness is part of the latter spec).  I imagine there would 
be more significant roadblocks to that level of interoperability 
though.  It's probably best to at least stick to one major version or 
the other for a given Darshan build.

FWIW Darshan does detect the const issue at compile time (for the 
Darshan library itself), so you can build a version of Darshan for use 
with either API generation.

> Also, on 
> https://www.nersc.gov/users/software/debugging-and-profiling/ipm/, 
> there seems to be some module explicitly built for Intel compilers. I 
> thought Darshan uses a similar profiling technique, so I was asking.

I don't believe this is the case.  Darshan's various instrumentation 
methods (link-time wrappers, PMPI, or preloading) are all 
compiler-independent to my knowledge.  IPM captures more in-depth 
information so it may rely on additional methods.

> I read in some Darshan research papers that the tool has been enabled 
> by default on several NERSC clusters. Do the users there have a wide 
> choice of MPI implementations? Do you have any clue which MPIs are 
> chosen by the user and also get successfully profiled by Darshan?

I don't have that information myself, sorry.  I know that Darshan works 
with each of the compilers that are available (and users do switch those 
for various reasons), but I'm not sure about the MPI implementations.


> Cheers,
> Chh-Song

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/darshan-users/attachments/20150909/17de921b/attachment.html>

More information about the Darshan-users mailing list