check threads binding

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

3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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. 

Great! Thanks Peter!

Leave a Comment

Please sign in to add a comment. Not a member? Join today