Detecting High-Level Performance Properties based on MAQAO and Periscope
Lamia Atma Djoudi, Michael Gerndt, William Jalby · 2010
Tuning programs for high performance architectures requires a cyclic approach based on performance analysis and subsequent application of program transformations. Not only the communication and synchronization overheads of parallel programs have to be analyzed and reduced, but also the compute performance of each processor core. While today’s compilers already apply powerful program transformation to generate efficient code, frequently, additional hand tuning can improve it. Thus, performance analysis tools have to be available supporting the programmer in the detection of inefficient code and its optimization. Current tools are quite limited since they only perform measurements based on the processor’s hardware c ounters. This paper describes a new approach for performance analysis tools which combines static and dynamic information. We formalize inefficient single core execution in form of Periscope’ s performance properties. Detection of these properties is based on MAQAO’s static information resulting from an alyzing the program’s assembler code, and on dynamic measurements taken during Periscope’s automated online performance analysis.