Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Stefano_C_2
Beginner
62 Views

check threads binding

Hi all,

I'm developping a multi-threaded application running on a generic multi-core platform. For performance, I'm mainly interested in making sure that threads are not being migrated and the they are running in the most appropriate core for efficient cache usage. I was wondering if there is a way to check which thread is running in which core during the whole execution time in Vtune (or other Intel tools)?

Thanks

0 Kudos
2 Replies
Peter_W_Intel
Employee
62 Views

Please try these steps:

1. Use advanced-hotspots collector in VTune(TM) Amplifier XE 2013 Update 12 to profile your application

2. Open Bottom-up report after data collecting, you will see Hotspots viewpoint

3. Change "Grouping" to "Package / HW Context / Function / Call Stack" to view results.

4. There are many threads displayed in timeline panel, bottom of Bottom-up report, select one of your interest

5. Associated items, such as package_n / cpu_n / functions will be highlighted in upper panel - you can expand on nodes (package/cpu) to know that your thread worked on which package/cpu, and functions' name, and CPU time. If your thread was binded in one core, VTune will report data only on one core. 

Stefano_C_2
Beginner
62 Views

Great! Thanks Peter!

Reply