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

OpenMP* collector may not generate any results

We develop a FEM application using Intel Fortran (11.0.074) that uses mkl (pardiso solver) and openmp, and would like to profile it using openmp*instrumentation. But we have not succeded in getting this to work, it's an 64bit application run on XPsp2 using VS 2005, mkl 10.0.4, thread profiler 3.1, vtune 9.1.
Compiled using Qopenmp-profile, static link to mkl libs and libguide_stats.lib, we use the thread wizard and trying to run the activity generates the mbox: None of the Intel Thred Profiler OpenMP* colletctors modules of interest have been linked to an OpenMP* library. Then after running the application following message appears:
Invalid or none-existent overheads file.

Have also tried to link to dynamic libs but then other issues occurs, any ideas what this might be?
0 Kudos
1 Reply
Black Belt
In case you didn't notice, some of the OpenMP linking defaults were changed in 11.0.
libiomp5 is the default now, rather than libguide. I don't know about your usage of libguide_stats, but I wonder if it would work with libiomp5.
Also, if you want a static OpenMP library, that is controlled separately now by /Qopenmp-link static. I haven't seen documented how this should interact with /Qopenmp-profile. When I asked, I got the expected answer that static linked OpenMP library is not a good idea for profiling.
If you link with /Qopenmp-profile, you should still be able to run outside Thread Profiler, and results will still be stored in guide.gvs, although that is considered a "side effect" now.
Also not documented, as far as I could see, is whether Thread Profiler should be able to use the profiling OpenMP library with or without /Qopenmp-profile, in the case of (default) dynamic link. I've had an answer from the tools team that it should work this way, and that static linking any OpenMP run time library (other than the profiling one) isn't likely to work with Thread Profiler.
So, I would suggest you try simpler versions of what you are doing, and if they don't behave as you would like, report more specifically here.