diff --git a/ChangeLog b/ChangeLog index 415f4441eadc8a8549a9e867eef9107babc5e717..2928195e012554e904b8dc9601ffff2cd6d0193b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -28,6 +28,7 @@ darshan-2.3.1-pre2 - workstation-static and workstation-dynamic test environments supported * update darshan-gen-fortran.pl and darshan-gen-cxx.pl to support new library naming conventions in MPICH 3.1.1 and higher +* update documentation to reflect known issues with some versions of MPICH darshan-2.3.0 ============= diff --git a/darshan-runtime/doc/darshan-runtime.txt b/darshan-runtime/doc/darshan-runtime.txt index 586457469a16716ec8efb52f53398fde29f28d82..da01a47736a24a1d2393f3fe7bd66e5640977158 100644 --- a/darshan-runtime/doc/darshan-runtime.txt +++ b/darshan-runtime/doc/darshan-runtime.txt @@ -379,12 +379,30 @@ http://software.intel.com/en-us/forums/showthread.php?t=103447&o=a&s=lr === Linux clusters using MPICH -Follow the generic instructions provided at the top of this document. The -only modification is to make sure that the `CC` used for compilation is +Follow the generic instructions provided at the top of this document. For MPICH versions 3.1 and +later, MPICH uses shared libraries by default, so you may need to consider the dynamic linking +instrumentation approach. + +The static linking method can be used if MPICH is configured to use static +linking by default, or if you are using a version prior to 3.1. +The only modification is to make sure that the `CC` used for compilation is based on a GNU compiler. Once Darshan has been installed, it should be capable of instrumenting executables built with GNU, Intel, and PGI compilers. +[NOTE] +Darshan is not capable of instrumenting Fortran applications build with MPICH versions 3.1.1, 3.1.2, +or 3.1.3 due to a library symbol name compatibility issue. Consider using a newer version of +MPICH if you wish to instrument Fortran applications. Please see +http://trac.mpich.org/projects/mpich/ticket/2209 for more details. + +[NOTE] +MPICH versions 3.1, 3.1.1, 3.1.2, and 3.1.3 may produce link-time errors when building static +executables (i.e. using the -static option) if MPICH is built with shared library support. +Please see http://trac.mpich.org/projects/mpich/ticket/2190 for more details. The workaround if you +wish to use static linking is to configure MPICH with `--enable-shared=no --enable-static=yes` to +force it to use static MPI libraries with correct dependencies. + === Linux clusters using Open MPI Follow the generic instructions provided at the top of this document for