[Darshan-users] compiling statically with intel toolchain
Salmon, Rene
salmr0 at bp.com
Wed May 18 10:25:45 CDT 2016
Hi Kevin,
Thanks for the reply. We use Intel MPI and Intel ifort to compile our codes. I tried generating the compiler wrapper and using it to compile but that does not seem to work form me.
When I use the wrapper it bypasses darshan because of this:
if [ -e $binfile ];
then
nm $binfile | grep -i "mpi_init" | grep -i "w" >& /dev/null
rc_weak=$?
If I look at the binary generated I see this.
nm $binfile | grep -i "mpi_init"
U MPI_Init
U MPI_Initialized
Maybe this is known problem. I seemed to have missed this section of the documentation
http://www.mcs.anl.gov/research/projects/darshan/docs/darshan-runtime.html#_linux_clusters_using_intel_mpi
Caveat
Darshan is only known to work with C and C++ executables generated by the Intel MPI suite. Darshan will not produce instrumentation for Fortran executables. For more details please check this Intel forum discussion:
Unfortunately a very big chunk of our codes are in fortran and we use intel MPI and ifort for that. It looks like I may be out of luck on this?
Thanks
Rene
On 5/17/16, 6:40 PM, "Harms, Kevin" <harms at alcf.anl.gov> wrote:
>Rene,
>
> are you using either the darshan generated compiler wrappers or trying to use the MPICH profiling hooks?
>
> Can you add the '-show' option to you link command. Instead of linking it will display the full link command that the wrapper is executing.
>
>kevin
>
>
>
>
>>Hi,
>>
>>I am trying to compile darshan statically into my application using Intel’s fortran compiler and MPI library. When I do so I get this error message:
>>
>>
>>-L/tstapps/asi/src/dds/lib/Linux/3.0/x86_64/Intel-16.0.1.150MPI5.1.2MKL11.3.1 -L/hpc/tstapps/SLES/3.0/x86_64/darshan/3.0.0/lib -ldds_r3 -lgio -lfhost -Wl,-Bstatic -ldarshan -ldarshan-stubs -lz -Wl,-Bdynamic
>>
>>
>>/hpc/tstapps/SLES/3.0/x86_64/darshan/3.0.0/lib/libdarshan.a(darshan-posix.o): In function `__wrap_open':
>>/hpc/tstapps/src/darshan/darshan-3.0.0/darshan-runtime/lib/darshan-posix.c:378: undefined reference to `__real_open'
>>/hpc/tstapps/src/darshan/darshan-3.0.0/darshan-runtime/lib/darshan-posix.c:384: undefined reference to `__real_open'
>>
>>/hpc/tstapps/SLES/3.0/x86_64/darshan/3.0.0/lib/libdarshan.a(darshan-posix.o): In function `__wrap_open64':
>>
>>/hpc/tstapps/src/darshan/darshan-3.0.0/darshan-runtime/lib/darshan-posix.c:412: undefined reference to `__real_open64'
>>
>>/hpc/tstapps/src/darshan/darshan-3.0.0/darshan-runtime/lib/darshan-posix.c:418: undefined reference to `__real_open64'
>>
>>/hpc/tstapps/SLES/3.0/x86_64/darshan/3.0.0/lib/libdarshan.a(darshan-posix.o): In function `__wrap_creat':
>>
>>…
>>
>>
>>the real_open routines seem to be in the libdarshan library:
>>
>>nm /hpc/tstapps/SLES/3.0/x86_64/darshan/3.0.0/lib/libdarshan.a |grep real_open
>>
>> U __real_open
>> U __real_open64
>>
>>
>>
>>Any ideas?
>>
>>Thanks
>>Rene
>>
More information about the Darshan-users
mailing list