Skip to content

Commit c09b7ae

Browse files
author
Phil Carns
committed
apply compiler gen changes to rst file
1 parent d687b0d commit c09b7ae

File tree

1 file changed

+33
-47
lines changed

1 file changed

+33
-47
lines changed

darshan-runtime/doc/darshan-runtime.rst

Lines changed: 33 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -330,54 +330,19 @@ straightforward method to apply transparently system-wide. It works by
330330
injecting additional libraries and options into the linker command line to
331331
intercept relevant I/O calls.
332332

333+
Using the Cray programming environment
334+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
335+
333336
On Cray platforms you can enable the compile time instrumentation by simply
334337
loading the Darshan module. It can then be enabled for all users by placing
335338
that module in the default environment. As of Darshan 3.2.0 this will
336339
instrument both static and dynamic executables, while in previous versions of
337340
Darshan this was only sufficient for static executables. See the Cray
338341
installation recipe for more details.
339342

340-
For other general MPICH-based MPI implementations, you can generate
341-
Darshan-enabled variants of the standard mpicc/mpicxx/mpif90/mpif77 wrappers
342-
using the following commands:
343-
344-
.. code-block:: bash
345-
346-
darshan-gen-cc.pl `which mpicc` --output mpicc.darshan
347-
darshan-gen-cxx.pl `which mpicxx` --output mpicxx.darshan
348-
darshan-gen-fortran.pl `which mpif77` --output mpif77.darshan
349-
darshan-gen-fortran.pl `which mpif90` --output mpif90.darshan
350-
351-
352-
The resulting ``*.darshan`` wrappers will transparently inject Darshan
353-
instrumentation into the link step without any explicit user intervention.
354-
They can be renamed and placed in an appropriate PATH to enable automatic
355-
instrumentation. This method also works correctly for both static and dynamic
356-
executables as of Darshan 3.2.0.
357-
358-
For other systems you can enable compile-time instrumentation by either
359-
manually adding the appropriate link options to your command line or modifying
360-
your default MPI compiler script. The ``darshan-config`` command line tool can
361-
be used to display the options that you should use:
362-
363-
.. code-block:: bash
364-
365-
# Linker options to use for dynamic linking (default on most platforms)
366-
# These arguments should go *before* the MPI libraries in the underlying
367-
# linker command line to ensure that Darshan can be activated. It should
368-
# also ideally go before other libraries that may issue I/O function calls.
369-
darshan-config --dyn-ld-flags
370-
371-
# linker options to use for static linking
372-
# The first set of arguments should go early in the link command line
373-
# (before MPI, while the second set should go at the end of the link command
374-
# line
375-
darshan-config --pre-ld-flags
376-
darshan-config --post-ld-flags
377-
378343
.. _Sec Use Profile:
379344

380-
Using a profile configuration
345+
Using an MPICH profile configuration
381346
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
382347

383348
The MPICH MPI implementation supports the specification of a profiling library
@@ -405,13 +370,37 @@ Examples for command line use:
405370
mpif90 -profile=$DARSHAN_PREFIX/share/mpi-profile/darshan-f <args>
406371
407372
408-
Note that unlike the previously described methods in this section, this method
409-
*will not* automatically adapt to static and dynamic linking options. The
410-
example profile configurations show above only support dynamic linking.
373+
Note that this method *will not* automatically adapt to static and dynamic
374+
linking options. The example profile configurations show above only support
375+
dynamic linking.
411376

412377
Example profile configurations are also provided with a "-static" suffix if you
413378
need examples for static linking.
414379

380+
Other systems
381+
^^^^^^^^^^^^^
382+
383+
For other systems you can enable compile-time instrumentation by either
384+
manually adding the appropriate link options to your command line or
385+
modifying your default MPI compiler script. The `darshan-config` command
386+
line tool can be used to display the options that you should use:
387+
388+
.. code-block:: bash
389+
390+
# Linker options to use for dynamic linking (default on most platforms)
391+
# These arguments should go *before* the MPI libraries in the underlying
392+
# linker command line to ensure that Darshan can be activated. It should
393+
# also ideally go before other libraries that may issue I/O function calls.
394+
darshan-config --dyn-ld-flags
395+
396+
# linker options to use for static linking
397+
# The first set of arguments should go early in the link command line
398+
# (before MPI, while the second set should go at the end of the link command
399+
# line
400+
darshan-config --pre-ld-flags
401+
darshan-config --post-ld-flags
402+
403+
415404
Option 2: Instrumenting MPI applications at runtime
416405
--------------------------------------------------------
417406

@@ -982,11 +971,8 @@ using mpicc with GNU compilers to compile Darshan.
982971
983972
./configure --with-log-path=/darshan-logs --with-jobid-env=PBS_JOBID CC=mpicc
984973
985-
986-
The ``darshan-gen-*`` scripts described earlier in this document can be used to
987-
create variants of the standard mpicc/mpicxx/mpif77/mpif90 scripts that are
988-
Darshan enabled. These scripts will work correctly for both dynamic and
989-
statically linked executables.
974+
The MPICH profile configuration method described earlier in this document
975+
can be used to add Darshan instrumentation to executables at compile time.
990976

991977
Linux clusters using Intel MPI
992978
----------------------------------------

0 commit comments

Comments
 (0)