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

Collecting OpenMP regions with Intel Trace Collector

Noe-Ohana
초보자
5,304 조회수

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?

레이블 (2)
0 포인트
13 응답
AbhishekD_Intel
중재자
5,275 조회수

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 포인트
Kevin_O_Intel1
5,266 조회수

Can you attach the trace you collected?


0 포인트
Noe-Ohana
초보자
5,240 조회수

Sure, here it is.

Thank you very much for having a look into it.

0 포인트
Kevin_O_Intel1
5,245 조회수

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


0 포인트
Noe-Ohana
초보자
5,239 조회수

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 포인트
Kevin_O_Intel1
5,220 조회수

Reviewing the result and will see if I can duplicate


0 포인트
Noe-Ohana
초보자
4,917 조회수

Hi.

Do you have any update on this topic?

Thanks.

0 포인트
Kevin_O_Intel1
4,886 조회수

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

0 포인트
Kevin_O_Intel1
4,760 조회수

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 포인트
Noe-Ohana
초보자
4,756 조회수

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 포인트
Kevin_O_Intel1
4,749 조회수

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 포인트
Noe-Ohana
초보자
4,747 조회수

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 포인트
Kevin_O_Intel1
4,738 조회수

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

응답