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

Collecting OpenMP regions with Intel Trace Collector

Noe-Ohana
Novice
2,664 Views

I am trying to follow the steps from Intel Trace Collector documentation for collecting data about OpenMP regions.

I must be missing something because the resulting trace does not contain any OpenMP information:

Noe-Ohana_0-1608665301824.png

I am working on Windows, with Fortran code. I have Intel Parallel Studio XE 2020 Update 2 Cluster Edition for Windows, and Visual Studio 2017.

Here is how I compile and link the code:

> ifort -Qopenmp -trace -openmp -c test.f90
> Link /OUT:test.exe /LIBPATH:"%VT_ROOT%\dll" /SUBSYSTEM:CONSOLE VT.lib impi.lib test.obj

And here is how I run it:

mpiexec -trace -n 2 -genv OMP_NUM_THREADS=8 -genv INTEL_LIBITTNOTIFY64="%VT_ROOT%\dll\VT.dll" test.exe

 

Does anyone have any idea what could go wrong?

Labels (2)
0 Kudos
13 Replies
AbhishekD_Intel
Moderator
2,635 Views

Hi,


Thanks for reaching out to us.

We tried your code sample and we are also getting the same result with ITAC, so we are forwarding this issue to the concerned team.


Warm Regards,

Abhishek


0 Kudos
Kevin_O_Intel1
Employee
2,626 Views

Can you attach the trace you collected?


0 Kudos
Noe-Ohana
Novice
2,600 Views

Sure, here it is.

Thank you very much for having a look into it.

0 Kudos
Kevin_O_Intel1
Employee
2,605 Views

You should also verify the program is actually running with openmp.


0 Kudos
Noe-Ohana
Novice
2,599 Views

The program is indeed running with OpenMP. I can see it in the code output (Hello world from each thread), and even the collected trace detects 2 processes and 16 threads. It simply does not instrument the OpenMP regions.

0 Kudos
Kevin_O_Intel1
Employee
2,580 Views

Reviewing the result and will see if I can duplicate


0 Kudos
Noe-Ohana
Novice
2,277 Views

Hi.

Do you have any update on this topic?

Thanks.

0 Kudos
Kevin_O_Intel1
Employee
2,246 Views

I will give an update as soon as I can reproduce. Checking

0 Kudos
Kevin_O_Intel1
Employee
2,120 Views

Did you try using the directions documented https://software.intel.com/content/www/us/en/develop/documentation/itc-user-and-reference-guide/top/user-guide/recording-openmp-regions-information.html

 

Windows* OS

 

  • Your application should be:
     
  • linked with the Intel implementation of OpenMP.
  •  
  • dynamically linked with the 
    VT.dll
     library and Intel MPI Library.
  •  
    The example command line to compile the application may look as follows:
    > mpiicc -trace -openmp myapp.c
  • Make sure the 
    INTEL_LIBITTNOTIFY64
     environment variable contains the full path to the 
    VT.dll
     library.
  • Run your application using the 
    mpiexec
     command to trace the data.

0 Kudos
Noe-Ohana
Novice
2,116 Views

Thank you for coming back to me.

Those are the directions I have tried to follow.

Do you mean that the issue does not reproduce on your side? Are you doing anything differently?

From the original post:

Here is how I compile and link the code:

> ifort -Qopenmp -trace -openmp -c test.f90
> Link /OUT:test.exe /LIBPATH:"%VT_ROOT%\dll" /SUBSYSTEM:CONSOLE VT.lib impi.lib test.obj

And here is how I run it:

mpiexec -trace -n 2 -genv OMP_NUM_THREADS=8 -genv INTEL_LIBITTNOTIFY64="%VT_ROOT%\dll\VT.dll" test.exe


0 Kudos
Kevin_O_Intel1
Employee
2,109 Views

My results are slightly different ...~75% serial 25% MPI calls 0% OMP

I believe this is because loops might be happening too fast for us to collect any samples... but I will verify with team

0 Kudos
Noe-Ohana
Novice
2,107 Views

All right, thank you very much.

I have tried to profile a real application the same way, and I always get 0s in OpenMP.

0 Kudos
Kevin_O_Intel1
Employee
2,098 Views

Actually, I think you are right... this looks like a bug to me. I am filing a bug report and we will try to fix in a later version.

Thank you very much for reporting the issue.

Regards

Reply