Analyzers
Support for Analyzers (Intel VTune™ Profiler, Intel Advisor, Intel Inspector)
4696 Discussions

How to get Wait Time and Wait Count from OpenMP applications?

Adriano_G_
Beginner
232 Views

Hi,

I'm trying to get wait time and wait count data from some openmp applications, but it return always zero when using locksandwaits or N/A using the concurrency option.

The compiler I'm using is gcc with this command line:

gcc app.c -o app -fopenmp -lm -g

And this line to run:

amplxe-cl -collect locksandwaits -app-working-dir /my_dir -- ./app NumThreads

I also did:

export KMP_FORKJOIN_FRAMES=1

There's this warning: amplxe:

Warning: Cannot locate debugging symbols for file `/opt/intel/vtune_amplifier_xe_2016.3.0.463186/lib64/libtpsstool.so'.

 

The output I get is like:

Summary
-------
Average Concurrency:  3.983
Elapsed Time:               3.177
CPU Time:                    12.620
Wait Time:                  
Average CPU Usage:    3.835

 

It works with pthreads, mpi-1 and mpi-2 applications, but doesn't with openmp.

So, anyone knows the way to solve this problem with openmp or another way to do it?

 

Thanks!

0 Kudos
1 Solution
Dmitry_P_Intel1
Employee
232 Views

Hello Adriano,

Meanwhile I'm looking at this, do you have ability to use intel compiler to compile your OpenMP application? If so - it is recommended to use "-c hpc-performance" to get metrics on OpenMP usage efficiency including serial time, imbalance, locks etc.

Thanks & Regards, Dmitry

View solution in original post

1 Reply
Dmitry_P_Intel1
Employee
233 Views

Hello Adriano,

Meanwhile I'm looking at this, do you have ability to use intel compiler to compile your OpenMP application? If so - it is recommended to use "-c hpc-performance" to get metrics on OpenMP usage efficiency including serial time, imbalance, locks etc.

Thanks & Regards, Dmitry

Reply