Intel® MPI Library
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.
2159 Discussions

Intel Trace Analyzer and Collector with MS-MPI

Hodara__Joachim1
810 Views

Hi,

 

I would like to analyze my MS-MPI application using ITAC. I created a simple sample main.cpp:

 

#include <iostream>
#include <mpi.h>

int main(int argc, char **argv)
{
  MPI_Init(&argc, &argv);

  int world_size;
  MPI_Comm_size(MPI_COMM_WORLD, &world_size);

  int my_rank;
  MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);

  std::cout << "World Size: " << world_size << "   Rank: " << my_rank << std::endl;

  MPI_Finalize();

  return 0;
}            

 

which I compile using MSVC/MS-MPI (16.9.2):

 

cl main.cpp /I"C:\Program Files (x86)\Microsoft SDKs\MPI\Include"  /c
link /machine:x64 "msmpi.lib" /libpath:"C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64" main.obj

 

The application runs just fine:

 

>mpiexec -n 4 ./main.exe
World Size: 4   Rank: 3
World Size: 4   Rank: 2
World Size: 4   Rank: 1
World Size: 4   Rank: 0

 

I used the same procedure to compile and run the ITAC MPI compatibility checker, and it passed:

 

Intel(R) Trace Analyzer and Collector is compatible with your MPI version.

 

So far, so good. However, I don't understand how I can enable mpi-tracing with MS-MPI. The documentation says that I should recompile the code using the -trace option, but that option does not exist in MSVC. They seem to have something vaguely similar, but it generates .etl files rather than .stf files.

 

What should I do to generate a .stf file on Windows with MSVC/MS-MPI?

 

Thank you for your help,

Joachim

0 Kudos
4 Replies
VarshaS_Intel
Moderator
743 Views

Hi,


Thanks for posting in Intel Communities.


We are working on your issue. We will get back to you soon.


Thanks & Regards,

Varsha


0 Kudos
VarshaS_Intel
Moderator
707 Views

Hi,

 

Could you please try using the below commands in command prompt(after sourcing the Intel oneAPI environment) to generate the .stf file:

For Compiling the MPI code:
mpicc -trace <program_name>.cpp
For Running the MPI code:
mpiexec -n <number_of_processes> <program_name>.exe
To Trace the MPI code using the Intel Trace Analyzer and Collector:
traceanalyzer <program_name>.stf

Thanks & Regards,

Varsha

 

0 Kudos
VarshaS_Intel
Moderator
688 Views

Hi,


We have not heard back from you. Could you please provide an update on your issue?


Thanks & Regards,

Varsha


0 Kudos
VarshaS_Intel
Moderator
658 Views

Hi,


We have not heard back from you. This thread will no longer be monitored by Intel. If you need additional information, please post a new question.


Thanks & Regards,

Varsha


0 Kudos
Reply