Intel® oneAPI HPC Toolkit
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.
1921 Discussions

Visual Studio project settings to instrument for Trace Analyzer

jefffaust
Novice
257 Views

Hello,

I'm just getting started with Intel MPI and am trying to understand how to use Trace Analyzer. My understanding is that linking with vt.lib and running an mpi application is sufficient to cause a *.stf file to be emitted. I have a simple Hello World MPI application. After linking with vt.lib and running through mpiexec, I see no stf output.

There's not much more information to add. The setup could not be simpler. What am I missing?

Jeff

0 Kudos
1 Solution
jefffaust
Novice
257 Views

I was finally able to get STF results. Here's what I did:

  • vt.lib must be before impi.lib in the link line.
  • I had to include vt.h and invoke VT_initialize, VT_traceon, and VT_finalize.

I don't know why these steps are necessary. I found no documentation to suggest they are, and I figured this out through slow trial-and-error.

 

View solution in original post

2 Replies
jefffaust
Novice
258 Views

I was finally able to get STF results. Here's what I did:

  • vt.lib must be before impi.lib in the link line.
  • I had to include vt.h and invoke VT_initialize, VT_traceon, and VT_finalize.

I don't know why these steps are necessary. I found no documentation to suggest they are, and I figured this out through slow trial-and-error.

 

j0e
New Contributor I
257 Views

Thanks for sharing! Changing the order so that VT.lib comes before impi.lib worked for me in VS2017 using PS XE 2019, with Fortran code (but I did not need the VT_initialize or other calls). 

jefffaust wrote:

I was finally able to get STF results. Here's what I did:

  • vt.lib must be before impi.lib in the link line.
  • I had to include vt.h and invoke VT_initialize, VT_traceon, and VT_finalize.

I don't know why these steps are necessary. I found no documentation to suggest they are, and I figured this out through slow trial-and-error.

 

Reply