Intel® oneAPI HPC Toolkit
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
1828 Discussions

Collecting OpenMP regions with Intel Trace Collector

Noe-Ohana
Novice
959 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
930 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


Kevin_O_Intel1
Employee
921 Views

Can you attach the trace you collected?


Noe-Ohana
Novice
895 Views

Sure, here it is.

Thank you very much for having a look into it.

Kevin_O_Intel1
Employee
900 Views

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


Noe-Ohana
Novice
894 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.

Kevin_O_Intel1
Employee
875 Views

Reviewing the result and will see if I can duplicate


Noe-Ohana
Novice
572 Views

Hi.

Do you have any update on this topic?

Thanks.

Kevin_O_Intel1
Employee
541 Views

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

Kevin_O_Intel1
Employee
415 Views

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

 

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.

Noe-Ohana
Novice
411 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


Kevin_O_Intel1
Employee
404 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

Noe-Ohana
Novice
402 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.

Kevin_O_Intel1
Employee
393 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