Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28459 Discussions

Thread Profiler /Qtprofile and tp10.ini?

Matt_F_1
Beginner
501 Views
I'm trying to instrument a C/F95 DLL that uses OpenMP for analysis within Thread Profiler. However, adding /Qtprofile to the command-line arguments results in the error message:

severe: tp10.ini not found; Intel Threading Tools must be installed.

However I have Thread Profiler 3.1 installed, and the file in question is installed in the VTune/Analyzer/bin directory. That directory is also in the system PATH.

Any suggestions?

Thanks,
Matt
0 Kudos
12 Replies
TimP
Honored Contributor III
501 Views
There should be a bat file in the thread profiler installation, to set thread profiler paths, before compiling by command line. After successful compile and link, running your application (with the paths still set) should produce a tp.tp file, which can be opened in VTune.
0 Kudos
Matt_F_1
Beginner
501 Views
I'm compiling from Visual Studio and can run the application from within Thread Profiler. Perhaps the problem is that I did not install the VTune Visual Studio Integration as it clutters up the Studio interface and I prefer the stand-alone VTune. Is there a way to manually setup the paths within Visual Studio?

Thanks,
Matt
0 Kudos
Steven_L_Intel1
Employee
501 Views
Matt,

I see that you also reported this to Intel Premier Support and got a suggestion to check to see that the environment variable ITT_TPROFILE was set. Did you do that? This is what the compiler uses to find the tp10.ini file. This variable should have been set by the Thread Profiler install.
0 Kudos
Matt_F_1
Beginner
501 Views
Yes, it is set, but there was no tp01.ini within that directory. Adding it did not help.

- Matt
0 Kudos
Mark_D_Intel
Employee
501 Views
Normally the binary instrumentation with TP works sufficiently well that there is no need to use /Qtprofile. Is there a problem when running your app under TP without that switch?
0 Kudos
Matt_F_1
Beginner
501 Views
TP works fine without /Qtprofile, but my app is OpenMP and I was interested in the evidently more in-depth analysis offered with recompilation using this flag.

- Matt

0 Kudos
TimP
Honored Contributor III
501 Views

Under which conditions is the binary instrumentation recommended? Small programs? We had not been informed of binary instrumentation being extended to work where previously recompilation with tprofile was required.

0 Kudos
Mark_D_Intel
Employee
501 Views
A couple of points of clarification:
- Thread Profiler has two modes - see the "Collection mode" setting in the wizard. One is specific to OpenMP. It needs the /Qopenmp-profile switch to generate results. (There is no source or binary instrumentation in this mode - the compiler links with a different OMP library that generates the statistics.)
The other mode is based on instrumentation of threading API's - either source (/Qtprofile) or binary instrumentation. It will also handle OpenMP (the OMP library makes calls to the underlying threading API and also contains hooks so TP can see the synchronization in the library).

- Thread Checker gains additional information from using source instrumentation (/Qtcheck) over binary instrumentation (variable names in addition to file/line number). Thread Profiler does not gain from using source instrumentation (/Qtprofile) over binary instrumentation (unless, of course, there are problems preventing binary instrumentation from working)


0 Kudos
Matt_F_1
Beginner
501 Views
Yes, thanks for the clarification. That does it.

I'm running with /Qopenmp-profile right now. I still cannot get /Qtprofile to work, but it seems I shouldn't care...


Thanks,
Matt
0 Kudos
Mark_D_Intel
Employee
501 Views
Tim,
See the clarification I posted for Matt. If you're using Thread Profiler in instrumentation mode, binary instrumentation should work on any project. Is there some particular problem that prevented binary instrumentation from working previously?
0 Kudos
TimP
Honored Contributor III
501 Views
Matt,
In the past, binary instrumentation would get stuck on large programs, possibly as a result of memory consumption. As pointed out earlier, -openmp-profile is a better choice anyway for OpenMP threading. Even when the guide.gvs data file doesn't process well under Windows VTune, useful text information is present in that file.
Tim
0 Kudos
Matt_F_1
Beginner
501 Views
That's good to know.

I had no problems using Thread Profiler with /Qopenmp-profile. It is quite useful, and obviously more geared towards OpenMP. Although the 'traditional' auto-instrumentation analysis provided with T.P. by default does provide additional info.

Thanks,
Matt
0 Kudos
Reply