- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello!
I am trying to profile a C++ application with OpenMP using Intel Vtune Profiler and I've run Hotspots, Threading user-mode and hardware-based analyzes (see "hotspots", "user" and "hardware" pictures +"threads" picture from hardware analysis).
I have several questions about results of these analyzes and I ask to help me.
1) What do these results generally mean? If I'm not mistaken, Hotspots analysis revealed that most of time was spent usefully and then Threading analyzes shows the opposite.
2) What is Semaphore object in Threading user-mode analysis?
3) Why one thread has such a lot of load? ("threads" picture) Most of work is done in parallel region.
What should I do to increase parallelism of this application?
I've read the documentation: https://software.intel.com/en-us/vtune-help-windows-targets but still can't understand what's happening in my case.
Algorithm of application is simple:
#pragma omp parallel num_threads(8){
if(myID==0){
<master thread job>
}
#pragma omp for schedule(static)
<parallel cycle>
if(myID==0){
<master thread job>
}
}
Many thanks! :)
P.S. I have Windows 10 and NetBeans with MinGW compiler
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Thanks for reaching out to us.
Please find the answers for your queries.
1. Yes, you are correct. Hotspot analysis is used to identify sections of code that get a lot of execution time (hotspots).
Threading analysis is used to identify how efficiently an application uses available processor compute cores and explore inefficiencies in threading runtime usage or contention on threading synchronization that makes threads waiting and prevents effective processor utilization.
You can refer the below links to know more about these analysis
https://software.intel.com/en-us/vtune-help-basic-hotspots-analysis
https://software.intel.com/en-us/vtune-help-threading-analysis
2. In Threading analysis,User-Mode Sampling and Tracing is used to recognize synchronization objects and collect thread wait time by objects using tracing.There are two groups of synchronization objects supported by Intel VTune Profiler: objects usually used for synchronization between threads (such as Mutex or Semaphore) and objects associated with waits on I/O operations (such as Stream).
3. you can go through few of our tuning recipes related to inefficient threading for more understanding of the issue: https://software.intel.com/en-us/vtune-cookbook-tuning-recipes
If you have any further issues please let us know.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Could you please confirm whether the solution provided was helpful.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi!
I sincerely apologize for the long delay in response. It was due to log-in problem.
Information provided by you was very helpful in general, thank you very much!
However, in my particular case I've recognized that I have very big problems with parallelism on my laptop in general (not only with this application). I've written simple parallel program like
#pragma omp parallel num_threads(8)
#pragma omp for schedule(static)
<arithmetics>
and then Hotspots analysis have revealed that parallelism is very bad. Debug version runs for a relatively long time, but it has at least some parallelism (can't attach pictures due to an error on this site :( ). Release version is much faster, but it has no parallelism at all. By the way, microarchitecture exploration analysis revealed that I have many problems with hardware (for example, bad Front-End Bound parameters).
I have no idea why parallelism is so bad even for simple arithmetic program :( The model of laptop is Acer Nitro AN515-51
Tell me, please should I create new topic with this problem or continue in this one?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Since your initial queries are answered, it would be great if you raise a new thread for further queries.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Since you raised another thread, we are closing this case. Please feel free to open new threads if you have any issues.
Thanks

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page