Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)
4995 Discussions

How can I get a run-time chart of my OpenMP multi-threaded application using Intel Thread Profiler?

alexmerong
Beginner
589 Views

My application is operated with four-thread with single core.

I want to see the timing chart of my multi-threaded application using Thread Profiler.

Eventhough I compiled my application with /Qopenmp-profile option,

thread profiler pop up this message.

None of the intel thread profiler openmp collector's modules of interest have benn linked to an openmp library

what is that?

0 Kudos
11 Replies
askanky
Beginner
589 Views

My application is operated with four-thread with single core.

I want to see the timing chart of my multi-threaded application using Thread Profiler.

Eventhough I compiled my application with /Qopenmp-profile option,

thread profiler pop up this message.

None of the intel thread profiler openmp collector's modules of interest have benn linked to an openmp library

what is that?

I have the same problem when profile the openmp app.

by the way,my env is with visual studio 2008,intel q6600 cpu,and xp os.

0 Kudos
Shannon_C_Intel
Employee
589 Views
First, I apologize for the delay in getting your question answered. In order to solve this we need a little bit more information, specifically how Thread Profiler was configured. Were you using the command-line or the graphical interface? Also, is the app you are profiling contained within one process?
Also, please see here to make sure it is compiled properly: http://support.intel.com/support/performancetools/threadprofiler/windows/sb/cs-009683.htm
Thanks,
Shannon

0 Kudos
TimP
Honored Contributor III
589 Views

If you have linked with /Qopenmp-profile, running your application normally should produce a file named guide.gvs. Windows VTune can make graphs from that file. As it is a text file, you may find additional useful information there, beyond what VTune displays. Much easier than getting thread profiler involved.

0 Kudos
Mark_D_Intel
Employee
589 Views

Other information that would be useful to know: What version of the Intel compiler are you using and what command line options are you using?

Mark

0 Kudos
Peter_W_Intel
Employee
589 Views

If my assumption is correct - you have no problem to run application built with OpenMP within Microsoft* Visual Studio*, but failed of running it by Intel Thread Profiler because of missing openmp library.

The solutions could be one of below:

1) Run Intel Thread Profiler integrated in Microsoft* Visual Studio* to avoid this problem

2) Run program under "Visual Studio 2005/2008 Command Prompt", then run VTune_DirSharedBinvtuneenv.exe

Regards, Peter

0 Kudos
TimP
Honored Contributor III
589 Views

If my assumption is correct - you have no problem to run application built with OpenMP within Microsoft* Visual Studio*, but failed of running it by Intel Thread Profiler because of missing openmp library.

If you have the problem with the missing openmp debug library in early 64-bit Intel 11.0 compilers, it was fixed in 11.0/074.

0 Kudos
lschien
Beginner
589 Views

My application is operated with four-thread with single core.

I want to see the timing chart of my multi-threaded application using Thread Profiler.

Eventhough I compiled my application with /Qopenmp-profile option,

thread profiler pop up this message.

None of the intel thread profiler openmp collector's modules of interest have benn linked to an openmp library

what is that?


Dear all:
I encounter the same problem, intel thread profiler shows an error

None of the Intel Thread Profiler OpenMP* collector's modules of interest have been
linked to an OpenMP* library

I use
(1) platform : winxp x64, vc2005
(2) compiler: intel C++ compiler 11.0.066
(3) testbench is ompPrime in tprofilesamplesompPrime

and integrate intel C++ compiler into vc2005

The following is configuration in vc2005 project manager

C/C++ --> command line --> all options
/c /O2 /Qipo /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /EHsc
/MD /GS /fp:fast /Fo"x64Release/" /W3 /nologo /Wp64 /Zi /Qopenmp_profile

Linker --> command line --> all options
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib
ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
/OUT:"I:course2008summerc_langexamplechap21prime_ompx64Release/prime_omp.exe"
/INCREMENTAL:NO /nologo /MANIFEST /MANIFESTFILE:"x64Releaseprime_omp.exe.intermediate.manifest"
/TLBID:1 /DEBUG /PDB:"I:course2008summerc_langexamplechap21prime_ompx64Releaseprime_omp.pdb"
/SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /IMPLIB:"I:course2008summerc_langexamplechap21prime_ompx64Releaseprime_omp.lib"
/MACHINE:X64 /FIXED:NO

I have tried
[ Run program under "Visual Studio 2005/2008 Command Prompt",
then run VTune_DirSharedBinvtuneenv.exe]
But it does not work

moreover I also try both Debug and release configuration, the results are the same

Does anyone have a solution?

Thanks

Lung-Sheng Chien
Tsing Hua univeristy, R.O.C.
0 Kudos
lschien
Beginner
589 Views
Quoting - lschien

Dear all:
I encounter the same problem, intel thread profiler shows an error

None of the Intel Thread Profiler OpenMP* collector's modules of interest have been
linked to an OpenMP* library

I use
(1) platform : winxp x64, vc2005
(2) compiler: intel C++ compiler 11.0.066
(3) testbench is ompPrime in tprofilesamplesompPrime

and integrate intel C++ compiler into vc2005

The following is configuration in vc2005 project manager

C/C++ --> command line --> all options
/c /O2 /Qipo /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /EHsc
/MD /GS /fp:fast /Fo"x64Release/" /W3 /nologo /Wp64 /Zi /Qopenmp_profile

Linker --> command line --> all options
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib
ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
/OUT:"I:course2008summerc_langexamplechap21prime_ompx64Release/prime_omp.exe"
/INCREMENTAL:NO /nologo /MANIFEST /MANIFESTFILE:"x64Releaseprime_omp.exe.intermediate.manifest"
/TLBID:1 /DEBUG /PDB:"I:course2008summerc_langexamplechap21prime_ompx64Releaseprime_omp.pdb"
/SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /IMPLIB:"I:course2008summerc_langexamplechap21prime_ompx64Releaseprime_omp.lib"
/MACHINE:X64 /FIXED:NO

I have tried
[ Run program under "Visual Studio 2005/2008 Command Prompt",
then run VTune_DirSharedBinvtuneenv.exe]
But it does not work

moreover I also try both Debug and release configuration, the results are the same

Does anyone have a solution?

Thanks

Lung-Sheng Chien
Tsing Hua univeristy, R.O.C.

I also try to invoke intel thread profiler from vc2005 as following procedures
(1) Tuning --> Windows --> Tuning Browser
(2) add new activity--> choose OpenMP-specific
but the same error message occurs

"None of the Intel Thread Profiler OpenMP* collector's modules of interest have been
linked to an OpenMP* library"


Lung-Sheng Chien
0 Kudos
Mark_D_Intel
Employee
589 Views
Quoting - lschien

I also try to invoke intel thread profiler from vc2005 as following procedures
(1) Tuning --> Windows --> Tuning Browser
(2) add new activity--> choose OpenMP-specific
but the same error message occurs

"None of the Intel Thread Profiler OpenMP* collector's modules of interest have been
linked to an OpenMP* library"


Lung-Sheng Chien


When I run from the standalone Thread Profiler with a test case compiled with 11.0 compiler with /Qopenmp_profile option, the following dialog appears:

---------------------------
Intel Thread Profiler OpenMP*
---------------------------
None of the Intel Thread Profiler OpenMP* collector's modules of interest have
been linked to an OpenMP* library.

This collector may not generate any results.

Do you wish to continue?
---------------------------
OK Cancel
---------------------------


I presss 'OK' and the run continues and results appear.


The problem is the name of the OpenMP library has changed in the Intel 11.0 compiler (and TP doesn't recognize the new library name). The workaround is to compile with /Qopenmp_profile and ignore the warning from TP about not being linked to an OpenMP library.
(Note - I didn't try this with TP integrated into VS, not sure if the behavior is different)

0 Kudos
lschien
Beginner
589 Views


When I run from the standalone Thread Profiler with a test case compiled with 11.0 compiler with /Qopenmp_profile option, the following dialog appears:

---------------------------
Intel Thread Profiler OpenMP*
---------------------------
None of the Intel Thread Profiler OpenMP* collector's modules of interest have
been linked to an OpenMP* library.

This collector may not generate any results.

Do you wish to continue?
---------------------------
OK Cancel
---------------------------


I presss 'OK' and the run continues and results appear.


The problem is the name of the OpenMP library has changed in the Intel 11.0 compiler (and TP doesn't recognize the new library name). The workaround is to compile with /Qopenmp_profile and ignore the warning from TP about not being linked to an OpenMP library.
(Note - I didn't try this with TP integrated into VS, not sure if the behavior is different)


Thanks, Mark.

The same behaviour when invoke TP from VS2005.

However I encounter another problem, I try the same procedure on
another machine which is vista64, then error occurs when I invoke
TP with collection mode "OpenMP-specific", the error message is

VTune Performance Environment has already stopped
(this is translated from chinese since my OS is chinese version)

But if I choose collection mode as "instrumentation", then it works.

remark: when I choose collection mode "OpenMP-specific" and run activity,

dialog "None of the IntelR Thread Profiler OpenMP* collector's modules of interest have
been linked to an OpenMP* library."

does not appear, and after about 10 seconds, dialog
"VTune Performance Environment has already stopped" appears


Lung-Sheng Chien
0 Kudos
lschien
Beginner
589 Views
Quoting - lschien

Thanks, Mark.

The same behaviour when invoke TP from VS2005.

However I encounter another problem, I try the same procedure on
another machine which is vista64, then error occurs when I invoke
TP with collection mode "OpenMP-specific", the error message is

VTune Performance Environment has already stopped
(this is translated from chinese since my OS is chinese version)

But if I choose collection mode as "instrumentation", then it works.

remark: when I choose collection mode "OpenMP-specific" and run activity,

dialog "None of the IntelR Thread Profiler OpenMP* collector's modules of interest have
been linked to an OpenMP* library."

does not appear, and after about 10 seconds, dialog
"VTune Performance Environment has already stopped" appears


Lung-Sheng Chien

I use another vista64 machine to do an experiment, the procedures are

step 1: install C++ compiler and Vtune (both are installed under evaluation)

step 2: invoke Thread profiler alone with collection mode "OpenMP-specific", then
dialog
None of the IntelR Thread Profiler OpenMP* collector's modules of interest have
been linked to an OpenMP* library.

appears, ignore it as before, I got the result.

step 3: invoke vtune and new a project with Threading Wizards with collection mode
"OpenMP-specific", then dialog

VTune Performance Environment has already stopped

appears, this is the problem.

step 4: I do step 2 again, then dialog

VTune Performance Environment has already stopped

appears as I see in step 3.
This means that I cannot use collection mode "OpenMP-specific" neither by thread profiler
nor by Vtune.

step 5: I remove Vtune and re-install it, and do step 2, then dialog

VTune Performance Environment has already stopped

again appears.

So I cannot use collection mode "OpenMP-specific" now.


Lung-Sheng Chien
0 Kudos
Reply