Loading…

MicroTools: Automating Program Generation and Performance Measurement

Tuning an application to a given architecture has become a complex procedure. Sophisticated hardware obfuscates the path to easily writing peak-performance applications. During the optimization process, before utilizing the hardware correctly, the user must understand out-of-order execution and micr...

Full description

Saved in:
Bibliographic Details
Main Authors: Beyler, J. C., Triquenaux, N., Palomares, V., Chabane, F., Fighiera, T., Halimi, J., Jalby, W.
Format: Conference Proceeding
Language:English
Subjects:
Online Access:Request full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Tuning an application to a given architecture has become a complex procedure. Sophisticated hardware obfuscates the path to easily writing peak-performance applications. During the optimization process, before utilizing the hardware correctly, the user must understand out-of-order execution and micro-operations. Understanding the software's performance on a given target architecture is the goal of the Micro Creator and Micro Launcher tools. Micro Creator automatically generates a set of benchmark programs from a XML file, whereas Micro Launcher executes them in a stable and closed environment. With these tools, the user has a better understanding of the underlying architecture. The two programs, through the execution of hundreds of micro-programs and from a single-core execution to the parallel world using OpenMP, give insight on performance issues. Looking into unrolling, strided memory accesses, vectorized programs, and parallel programs allow quick and efficient calculations of the latencies and bottlenecks of the architecture.
ISSN:0190-3918
2332-5690
DOI:10.1109/ICPPW.2012.60