-
Notifications
You must be signed in to change notification settings - Fork 0
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
Incorrect events
using MPI
: only gets registered to the first rank
#21
Comments
Update: def event(type, value):
if (Extrae):
Extrae[os.getpid()].Extrae_event(type, value) Which for me this is relevant since I guess it captures the process with from pyextrae.common.extrae import *
TracingLibrary = "libmpitrace.so"
startTracing( TracingLibrary ) where I don't know if you should link this Thanks! |
I haven't used it with MPI myself 🙂 I know Sergio had little bit more success by |
@mofeing I don't know how to do this |
If you can figure out how to make this work without doing the preload dance, that'd amazing! It's totally possible we're missing something here 😉 |
You're already doing the preload when you configure the "preloads" in the LocalPreferences.toml in MPIPreferences |
Hey Jofre @jofrevalles if you can provide me reproducibility steps (like detailed steps, it's been a long time since I worked with Julia) I can try to help you! |
@clasqui one question: do you need to call |
Bon dia, Marc @clasqui !! I just ran the following code using using MPI
using Extrae
MPI.Init()
Extrae.init()
comm = MPI.COMM_WORLD
mpi_size = MPI.Comm_size(comm)
mpi_rank = MPI.Comm_rank(comm)
Extrae.emit(UInt32(80_000), UInt64(1))
println("Hello from user function")
sleep(1 + mpi_rank)
Extrae.emit(UInt32(80_000), UInt64(0))
Extrae.finish()
MPI.Finalize() However, you first have to setup your project using that in the terminal (and having internet connection). Run using Pkg
Pkg.add("MPI")
Pkg.add("MPIPreferences")
Pkg.add("Extrae")
using MPIPreferences
MPIPreferences.use_system_binary()
using Extrae
Extrae.use_system_binary(; library_names=["libmpitrace"], extra_paths=["/apps/GPP/BSCTOOLS/extrae/4.2.3/impi_2021_10_0/lib"], export_prefs=true)
Pkg.build("Extrae") You can then step outside the REPL and you will see that a file preloads = ["/apps/GPP/BSCTOOLS/extrae/4.2.3/impi_2021_10_0/lib/libmpitrace.so"] (or wherever you have that installed) Then I put in the slurm submit file: export EXTRAE_ON=1
export EXTRAE_SKIP_AUTO_LIBRARY_INITIALIZE=1
export EXTRAE_CONFIG_FILE=<PATH_TO_EXTRAE.XML_FILE> |
Hey!
I have been using
Extrae.jl
withMPI.jl
, and I can't manage toemit
someevents
for different ranks. For example I ran the following code usingmpiexec
with 10 workers:I would expect that with this simple code I can
emit
the event80_000
on each rank, but when I use paraver to view the trace I only see that theevent
is emitted on the first rank:I tried with the macro
Extrae.@user_function
and withExtrae.FFI.MPItrace_user_function
and also only managed to get the trace over the first rank.The text was updated successfully, but these errors were encountered: