Another view of hpctView displays the I/O trace data, as shown in Figure 9-29. The HPM tool is an analog tool that provides easy SPMD programs profiling on Linux on  Power Systems. By using HPM, you can profile MPI programs regarding any of the hardware  events available or obtain any of the predefined metrics that are most commonly used in  performance analysis.  The Processor Monitor Unit (PMU) of the POWER8 processor is a part of the processor that  is dedicated to recording hardware events. It has six Performance Monitor Counter (PMC)  registers: Registers 0 - 3 can be programmed to count any of the more than 1000 events that  are available, register 4 can count run instructions that are completed, and register 5 can  count run cycles. These events are important because they can reveal performance issues, such as pipeline  bubbles, inefficient use of caches, and the high ratio of branch misprediction from the  perspective of the processor. Metrics for performance measurements can also be calculated  from hardware events, such as instructions per cycle, millions of instructions per second  (MIPS), and memory bandwidth. For single programs, tools such as Oprofile and Perf provide access to system-wide or  application profiling of those hardware events on POWER8 processors. Parallel SPMD  programs are often difficult to profile with these traditional tools because they are designed to  deal with a single process (whether multi-threaded or not). For more information about Oprofile, see the following resources: For more information about predefined metrics, see the Derived metrics defined for POWER8  architecture page. Chapter 9. Measuring and tuning applications  303 GLYPH<SM590000> Oprofile tool website  GLYPH<SM590000> Perf tool Wiki webpage  Hardware Performance Monitor Figure 9-29 hpctView: Message Passing Interface I/O tool trace visualization