Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Darshan gets MPI_Init before libtempi #1

Open
cwpearson opened this issue Oct 13, 2020 · 2 comments
Open

Darshan gets MPI_Init before libtempi #1

cwpearson opened this issue Oct 13, 2020 · 2 comments
Assignees
Labels
enhancement New feature or request resource:summit

Comments

@cwpearson
Copy link
Owner

Summit wants to find MPI_Init in darshan (jsrun -E LD_DEBUG=symbols).

symbol=MPI_Init;  lookup in file=bin/bench-mpi-pack [0]
     68381:     symbol=MPI_Init;  lookup in file=/autofs/nccs-svm1_sw/summit/.swci/1-compute/opt/spack/20180914/linux-rhel7-ppc64le/gcc-4.8.5/darshan-runtime-3.1.7-cnvxicgf5j4ap64qi6v5gxp67hmrjz43/lib/libdarshan.so [0]

Darshan is not explicitly included in the link step when building, so somehow it is injected at runtime.
In any case, we can fix this by module unload darshan, so then our MPI_Init happens right after libpami_cudahook.so.
Later, the lazy lookup will cause it to happen in libmpiprofilesupport.so.3 and then libmpi_ibm.so.3.

How to prevent libdarshan from taking this over?

@cwpearson cwpearson added enhancement New feature or request resource:summit labels Oct 13, 2020
@cwpearson cwpearson self-assigned this Oct 13, 2020
@cwpearson
Copy link
Owner Author

Alternatively, it may be possible to prefer loading MPI_Init (and any other functions?) from libdarshan.so before libmpi.so

@cwpearson
Copy link
Owner Author

jsrun sometimes uses OMPI_LD_PRELOAD_PREPEND to add libraries at runtime. We can probably do this for libtempi.so as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request resource:summit
Projects
None yet
Development

No branches or pull requests

1 participant