HPCToolkit / hpctoolkit

HPCToolkit performance tools: measurement and analysis components

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How to collect mpi function trace data with a proper hpcrun options?

colindying opened this issue · comments

I am using hpctoolkit to collect mpi tracing data in a HPC system,that means the mpi events of each process along with time and messagesize information.

The command "hpcrun" have so many options of events, I want to ask for help to know how to get the tracing data.

The data I want to collect is like to be include all mpi functions and their time information as follows, which I want to use to analyze the communication of processes:

data format is like to be : {MPI_RANK(like process 0): the list of mpi functions(mpi_send, mpi_rev, etc.).} mpi_function has property of (source, destination, start_time, end_time, messagesize).
How can I use the hpcrun with proper options to get those mpi function information?
and How can I change the trace file to a txt files?

HPCToolkit does not wrap MPI functions

wrap

Does that mean the hpctoolkit collects trace of information about common functions call in users' mpi program, and the mpi functions like MPI_SEND are not included in the event trace data of mpi programs?
So I cannot collect data about mpi functions with hpctoolkit because hpctoolkit focus on common compute functions?

You may still see MPI functions in the call stack of samples collected.
However, you won't see detailed information such as the sender and the receiver for each MPI function.

(source, destination, start_time, end_time, messagesize)

The above information can only be obtained if MPI functions are intercepted by a tool, which instruments the begin and the end of MPI functions to get source, destination, start_time, end_time, messagesize.