Background and motivationA high-performance computing (HPC) application is characterized by many variables that control its execution and determine its performance. Variables such as algorithm type, problem size, input parameters, programming languages and paradigms, libraries, hardware architecture, etc., can have very significant effects on program behavior. It is important to understand the role played by each variable and the ways they combine to influence the performance achieved, or achievable, by the application.Two approaches are commonly used for the purpose of understanding these effects: performance profiling and performance prediction. Profiling [7,8] captures the behavior of an application by monitoring its execution. Monitoring can be based on hardware counter sampling or it can require the instrumentation of the application's source code or its binary executable. The data produced by monitoring may be analyzed on-the-fly or stored as tracefiles for post-mortem analysis. Many of the tools currently available for HPC performance analysis are based on tracefiles. Examples include:• These techniques attempt to provide estimates of the performance achievable by an application by analyzing its structure and the influences of compiler transformations and the system architecture, using symbolic analysis, simulation, or other model-based methods. Prediction tools often rely directly or indirectly on tracefiles. The data from tracefiles can serve as the basis for constructing or validating the performance model, or can be used directly by the tool to adjust the model to the characteristics of a particular application (e.g., [9]).Tracefiles are typically generated by the application programmer as part of the performance tuning process. Our field studies of HPC programmers indicate that many experienced programmers also create suites of simple pseudo-benchmark codes and generate tracefiles to help establish basic performance characteristics when they
Background and motivationA high-performance computing (HPC) application is characterized by many variables that control its execution and determine its performance. Variables such as algorithm type, problem size, input parameters, programming languages and paradigms, libraries, hardware architecture, etc., can have very significant effects on program behavior. It is important to understand the role played by each variable and the ways they combine to influence the performance achieved, or achievable, by the application.Two approaches are commonly used for the purpose of understanding these effects: performance profiling and performance prediction. Profiling [7,8] captures the behavior of an application by monitoring its execution. Monitoring can be based on hardware counter sampling or it can require the instrumentation of the application's source code or its binary executable. The data produced by monitoring may be analyzed on-the-fly or stored as tracefiles for post-mortem analysis. Many of the tools currently available for HPC performance analysis are based on tracefiles. Examples include:• These techniques attempt to provide estimates of the performance achievable by an application by analyzing its structure and the influences of compiler transformations and the system architecture, using symbolic analysis, simulation, or other model-based methods. Prediction tools often rely directly or indirectly on tracefiles. The data from tracefiles can serve as the basis for constructing or validating the performance model, or can be used directly by the tool to adjust the model to the characteristics of a particular application (e.g., [9]).Tracefiles are typically generated by the application programmer as part of the performance tuning process. Our field studies of HPC programmers indicate that many experienced programmers also create suites of simple pseudo-benchmark codes and generate tracefiles to help establish basic performance characteristics when they
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.