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

Collecting OpenMP regions with Intel Trace Collector

Noe-Ohana
Novice
3,214 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
3,185 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
3,176 Views

Can you attach the trace you collected?


0 Kudos
Noe-Ohana
Novice
3,150 Views

Sure, here it is.

Thank you very much for having a look into it.

0 Kudos
Kevin_O_Intel1
Employee
3,155 Views

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


0 Kudos
Noe-Ohana
Novice
3,149 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
3,130 Views

Reviewing the result and will see if I can duplicate


0 Kudos
Noe-Ohana
Novice
2,827 Views

Hi.

Do you have any update on this topic?

Thanks.

0 Kudos
Kevin_O_Intel1
Employee
2,796 Views

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

0 Kudos
Kevin_O_Intel1
Employee
2,670 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,666 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,659 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,657 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,648 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