[Darshan-users] darshan-2.2.6 incorrectly detects weak symbols

Myriam Botalla myriam.botalla at bull.net
Tue May 7 07:26:39 CDT 2013


Hi Kevin
Yes I had it! 
The MPI symbols get different types in the executable and that is why checking the temporary binary could be the issue.
Here is the output:

With Intel MPI 
$ ldd IOR
	linux-vdso.so.1 =>  (0x00007fff49dff000)
	libdl.so.2 => /lib64/libdl.so.2 (0x000000381a000000)
	libm.so.6 => /lib64/libm.so.6 (0x000000381b000000)
	libmpi.so.4 => /opt/intel/impi/4.1.0.024/intel64/lib/libmpi.so.4 (0x00007f4c86af8000)
	libmpigf.so.4 => /opt/intel/impi/4.1.0.024/intel64/lib/libmpigf.so.4 (0x00007f4c868c8000)
	librt.so.1 => /lib64/librt.so.1 (0x000000381b800000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x000000381a800000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003820400000)
	libc.so.6 => /lib64/libc.so.6 (0x000000381a400000)
	/lib64/ld-linux-x86-64.so.2 (0x0000003819c00000)
$ nm IOR|grep -i "mpi_init"
                 U MPI_Init
$
	

With Open MPI
$ ldd IOR
	linux-vdso.so.1 =>  (0x00007fff6b558000)
	libm.so.6 => /lib64/libm.so.6 (0x000000381b000000)
	libmpi.so.1 => /opt/mpi/bullxmpi/1.2.5.1/lib/libmpi.so.1 (0x00007ff47e698000)
	libdl.so.2 => /lib64/libdl.so.2 (0x000000381a000000)
	libnuma.so.1 => /usr/lib64/libnuma.so.1 (0x000000381b400000)
	librt.so.1 => /lib64/librt.so.1 (0x000000381b800000)
	libnsl.so.1 => /lib64/libnsl.so.1 (0x0000003cb8800000)
	libutil.so.1 => /lib64/libutil.so.1 (0x0000003cb9000000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003820400000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x000000381a800000)
	libc.so.6 => /lib64/libc.so.6 (0x000000381a400000)
	/lib64/ld-linux-x86-64.so.2 (0x0000003819c00000)
$ nm IOR|grep -i "mpi_init"
                 U MPI_Init
$

Thanks
Myriam.

________________________________________
From: Kevin Harms [harms at alcf.anl.gov]
Sent: Monday, May 06, 2013 5:26 PM
To: Myriam Botalla
Cc: darshan-users at lists.mcs.anl.gov
Subject: Re: [Darshan-users] darshan-2.2.6 incorrectly detects weak symbols

Myriam,

  can you link an executable and then give the output of:
  nm <exe> | grep -i mpi_init

thanks,
kevin

On May 6, 2013, at 8:12 AM, Myriam Botalla <myriam.botalla at bull.net> wrote:

> Hi Phil,
> I've just upgraded to darshan-2.2.6 and got a serious limitation to instrumentation.
> Whether it is Intel MPI or OpenMPI I could not generate any darshan logs.
> It appears the fix added to check for fake MPI skips over instrumentation on our clusters.
>
> Actually both MPI implementations use the weak symbols:
>
> $ nm /opt/intel/impi/4.1.0.024/intel64/lib/libmpi.so.4|grep -i MPI_Init
> 0000000000602a74 B I_MPI_Initialized
> 0000000000068900 T I_MPI_init_dat_regestry_info
> 00000000001e6300 T MPID_nem_impi_init_shm_configuration
> 00000000001a87a0 W MPI_Init
> 00000000001b39d0 W MPI_Init_thread
> 00000000001a89f0 W MPI_Initialized
> 00000000001a87a0 T PMPI_Init
> 00000000001b39d0 T PMPI_Init_thread
> 00000000001a89f0 T PMPI_Initialized
> $
> $ nm /opt/mpi/bullxmpi/1.2.4.1/lib/libmpi.so|grep -i MPI_Init
> 000000000007b2d0 W MPI_Init
> 000000000007b4a0 W MPI_Init_thread
> 000000000007b6b0 W MPI_Initialized
> 000000000007b2d0 T PMPI_Init
> 000000000007b4a0 T PMPI_Init_thread
> 000000000007b6b0 T PMPI_Initialized
> 0000000000066ab0 T ompi_init_preconnect_mpi
> 0000000000064980 T ompi_mpi_init
> 0000000000397358 B ompi_mpi_init_started
> 0000000000397359 B ompi_mpi_initialized
> $
>
> Now the test for weak symbols is applied to the temporary binary. Is that the issue?
> Thanks,
> Myriam.
>
> _______________________________________________
> Darshan-users mailing list
> Darshan-users at lists.mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/darshan-users



More information about the Darshan-users mailing list