Thread Profiler - OpenMP - How to identify module running with no source?
Running our application under the Thread Profiler, using OpenMP threading, each region shows a link to the source location. There is a serial region without a source link - I assumed it was a system library. Presumably the Thread Profiler knows what module is being run at this point, since it knows it is serial, but how do we identify what it is?
I used a dependency walker tool to identify the DLLs being loaded by our executable (kernel32.dll, msvcrt.dll, etc), and added them to the "Modules of Interest" list, but re-running the activity gave no additional detail.
Is this information available buried in the data file or a log file perhaps?
Intel OpenMP compilers insert sufficient information for a source line to be given for each parallel region, even in the absence of debug symbols, but all serial regions are likely to be lumped together. A good way to identify time consuming serial regions would be to add /Zi to the compile and run VTune or PTU event sampling. Even without /Zi, perhaps with /traceback, you should be able to get time by function, which might get you the answer.