1 / 15

Using the VTune Analyzer on Multithreaded Applications

Using the VTune Analyzer on Multithreaded Applications. Intel Software College. Objectives. Two uses for VTune Performance Analyzer Improving the efficiency of computation Improving your threading model Example: mandelbrot3.exe. Agenda.

adsila
Download Presentation

Using the VTune Analyzer on Multithreaded Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Using the VTune Analyzer on Multithreaded Applications Intel Software College

  2. Objectives • Two uses for VTune Performance Analyzer • Improving the efficiency of computation • Improving your threading model • Example: mandelbrot3.exe Using the VTune Analyzer on Multithreaded Applications

  3. Agenda • Determine if a sample section of code can be threaded • Determine if the implemented threads are balanced or not Using the VTune Analyzer on Multithreaded Applications

  4. Use VTune Analyzer on Serial Applications • Determine what parts of your application (if any) that, when threaded, will speed up your app • CPU-bound apps can potentially run twice as fast on dual-core processors • Memory bound apps may potentially run 50% faster • I/O bound applications may not run any faster • Find main performance bottlenecks in your application (sampling) • Determine whether or not it makes sense to thread there • If not, look further up the program’s calling sequence to find a more appropriate place to consider (callgraph) Using the VTune Analyzer on Multithreaded Applications

  5. Use VTune Analyzer on Multithreaded Applications • Determine if your current threading model is balanced • On the thread view, each of the threads should be consuming the same amount of time • If not, you must shift the amount of work between the threads • Use “Samples Over Time” view • Look for idle CPU time • Could more threads utilize idle resources? • In the process view this can show up as ntoskrnl, or intelppm.sys • Sometimes the process view actually says idle task Using the VTune Analyzer on Multithreaded Applications

  6. Example: mandelbrot3.exe • Single threaded app, analyze to see if it can be made • Demo machine: • Four socket, dual core, hyper-threaded (HT) machine • (4 sockets * 2 cores per socket * 2 HT CPUs per core) = the OS sees 16 processors Using the VTune Analyzer on Multithreaded Applications

  7. Using the VTune Analyzer on Multithreaded Applications

  8. Using the VTune Analyzer on Multithreaded Applications

  9. Using the VTune Analyzer on Multithreaded Applications

  10. Using the VTune Analyzer on Multithreaded Applications

  11. Using the VTune Analyzer on Multithreaded Applications

  12. Using the VTune Analyzer on Multithreaded Applications

  13. Using the VTune Analyzer on Multithreaded Applications

  14. Using the VTune Analyzer on Multithreaded Applications

  15. Using the VTune Analyzer on Multithreaded Applications

More Related