ABSTRACT

The field of performance analysis is almost as old as scientific computing itself. This is because large-scale scientific computations typically press the outer envelope of performance. Thus, unless a user’s application has been tuned to obtain a high fraction of the theoretical peak performance available on the system, he/she might not be able to run the calculation in reasonable time or within the limits of computer resource allocations available to the user. For these reasons, techniques for analyzing performance and modifying code to achieve higher performance have long been a staple of the high-performance computing field.