Automated Performance Measurement System
Capturing the characteristics of a program’s performance requires running it on multiple sets of inputs. Typically in HPC these inputs include: the number of processors the program should be executed on, and problem-specific parameters such as grid sizes, number of iterations, or convergence thresholds. Furthermore even running one set of inputs multiple times can be useful since run time fluctuates between runs due to external factors of the runtime environment.
Therefore, measuring performance of codes by hand, on every combination of inputs, can be tedious, time consuming and error prone. The goal of the APMS is the measurement of performance of parallel codes in an automated way. It is designed to make the job of measuring faster and easier and to provide all information the user would get if the program was executed manually. This includes process exit status, error and warning messages generated and output produced.