[Darshan-users] compiling statically with intel toolchain

Salmon, Rene salmr0 at bp.com
Wed May 18 17:21:23 CDT 2016


Hi,


>  I think this means you are using dynamic linking. You could try darshan using the dynamic linking method that uses LD_PRELOAD.
>
>http://www.mcs.anl.gov/research/projects/darshan/docs/darshan-runtime.html#_instrumenting_dynamically_linked_fortran_applications

I tried LD_PRELOAD and that did not do much for me. 

We actually want to link in MPI and Darshan statically.  We typically  link MPI statically with intel MPI by just adding the “-static_mpi” option to mpiifort.  Unfortunately the darshan script calls ifort directly and as far as I can tell it is linking in MPI dynamically.  What would I need to add to my link line to get darshan compiled statically?  Here is my link line:

mpiifort -DLinux -Dx86_64 -DINTEL -DCompLevel16 -DX86_64 -D__x86_64__ -static-intel -static_mpi -DOpenMP -openmp -DSWAP -O3 -g -o ./ddswriter.revUnversioned PartitionLayout_mod.o ddswriter.o -L/tstapps/asi/src/dds/lib/Linux/3.0/x86_64/Intel-16.0.1.150MPI5.1.2MKL11.3.1 -ldds_r3 -lgio -lfhost


>  Yes, possibly. Intel may have changed their setup but unlikely. I believe the issue here is that that the Intel Fortran MPI functions call the PMPI_* routines directly and thus can not be intercepted unless the specific Fortran interface is intercepted. Do you do I/O from FORTAN directly or are you using an I/O library?


We do all IO using a library written in C. We do not do any IO using fortran. 

Thanks for the help
Rene
 



More information about the Darshan-users mailing list