13.07.2015 Views

Intel® 64 and IA-32 Architectures Optimization Reference Manual

Intel® 64 and IA-32 Architectures Optimization Reference Manual

Intel® 64 and IA-32 Architectures Optimization Reference Manual

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

MULTICORE AND HYPER-THREADING TECHNOLOGY8.2.4.3 Supporting Development ToolsIntel ® Threading Analysis Tools include Intel ® Thread Checker <strong>and</strong> Intel ® ThreadProfiler.8.2.4.4 Intel ® Thread CheckerUse Intel Thread Checker to find threading errors (which include data races, stalls<strong>and</strong> deadlocks) <strong>and</strong> reduce the amount of time spent debugging threaded applications.Intel Thread Checker product is an Intel VTune Performance Analyzer plug-in datacollector that executes a program <strong>and</strong> automatically locates threading errors. As theprogram runs, Intel Thread Checker monitors memory accesses <strong>and</strong> other events<strong>and</strong> automatically detects situations which could cause unpredictable threadingrelatedresults.8.2.4.5 Thread ProfilerThread Profiler is a plug-in data collector for the Intel VTune Performance Analyzer.Use it to analyze threading performance <strong>and</strong> identify parallel performance bottlenecks.It graphically illustrates what each thread is doing at various levels of detailusing a hierarchical summary. It can identify inactive threads, critical paths <strong>and</strong>imbalances in thread execution. Data is collapsed into relevant summaries, sorted toidentify parallel regions or loops that require attention.8.3 OPTIMIZATION GUIDELINESThis section summarizes optimization guidelines for tuning multithreaded applications.Five areas are listed (in order of importance):• Thread synchronization• Bus utilization• Memory optimization• Front end optimization• Execution resource optimizationPractices associated with each area are listed in this section. Guidelines for each areaare discussed in greater depth in sections that follow.Most of the coding recommendations improve performance scaling with processorcores; <strong>and</strong> scaling due to HT Technology. Techniques that apply to only one environmentare noted.8-11

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!