Skip to content

MPI tracing and profiling #444

Closed
Closed
@vchuravy

Description

@vchuravy

@simonbyrne and I tried yesterday to use nsys to debug an MPI program. They preload a wrapper library which doesn't work since we use dlopen directly. Once can hack around that, but a cleaner approach would be to use Preferences.jl to allow arbitrary instrumentation of

macro mpicall(expr)
@assert expr isa Expr && expr.head == :call && expr.args[1] == :ccall
# Microsoft MPI uses stdcall calling convention
# this only affects 32-bit Windows
# unfortunately we need to use ccall to call Get_library_version
# so check using library name instead
if use_stdcall
insert!(expr.args, 3, :stdcall)
end
return esc(expr)
end

Since NVTX requires a library, and alternative would be NVTXT which I happen to have an implementation lying around JuliaGPU/KernelAbstractions.jl@9852b76

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions