Get Started with Application Performance Snapshot -
- Recommended compilers:Intel® C++ Compiler Classic,Intel® oneAPIorDPC++/C++CompilerIntel® Fortran Compiler Classic and Intel® Fortran Compiler (Beta)(other compilers can be used, but information about OpenMP* imbalance is only available from the Intel OpenMP library)
- Intel® MPI library version 2017 or later. Other MPICH-based MPI implementations can be used, but information about MPI imbalance is only available from the Intel MPI library.
- Set the/proc/sys/kernel/perf_event_paranoidvalue to 0 (or less), or
- Install theIntel® VTune™Sampling Driver. Driver sources are available inProfiler<vtune_install_dir>/sepdk/src. Installation instructions are available at the Build and Install the Sampling Drivers for Linux* Targets page of theVTuneUser Guide.ProfilerThe Intel® Omni-Path Fabric (Intel® OP Fabric) metrics are only available with theIntel® VTune™drivers installed.Profiler
- Open a command prompt.
- Set the appropriate environment variables to run the tool.Run, where<vtune-install-dir>/apsvars.sh<vtune-install-dir>is the location whereVTunewas installed.ProfilerFor example:source /opt/intel/oneapi/vtune/latest/apsvars.sh
Analyzing Shared Memory Applications
- Run the following command:aps <my app> <app parameters>where<my app>is the location of your application and<app parameters>are your application parameters.Application Performance Snapshot launches the application and runs the data collection.
- After the analysis completes, a report appears in the command window. You can also open a HTML report with the same information in a supported browser. The path to the HTML report is included in the command window. For example:firefox aps_result_01012017_1234.html
- Analyze the data shown in the report. See the metric descriptions below or hover over a metric in the HTML report for more information.
- Determine appropriate next steps based on result analysis. Common next steps may include application tuning or using another performance analysis tool for more detailed information, such asIntel® VTune™or Intel® Advisor.Profiler
Analyzing MPI Applications
- Run the following command to collect data about your MPI application:<mpi launcher> <mpi parameters> aps <my app> <app parameters>where:
Application Performance Snapshot launches the application and runs the data collection. After the analysis completes, aaps_result_directory is created.<date>
- <mpi launcher>is an MPI job launcher such as mpirun, srun, or aprun.
- <mpi parameters>are the MPI launcher parameters.apsmust be the last<mpi launcher>parameter.
- <my app>is the location of your application.
- <app parameters>are your application parameters.
- Run the following command to complete the analysis:aps --report=aps_result_<date>After the analysis completes, a report appears in the command window. You can also open a HTML report with the same information in a supported browser.
- Analyze the data shown in the report. See the metric descriptions below or hover over a metric in the HTML report for more information.If your application is MPI-bound, run the following command to get more details about message passing such as message sizes, data transfers between ranks or nodes, and time in collective operations:aps --report <option> app_result_<date>For example, to generate a graphic representation of rank-to-rank communication, use:aps --report -x --format=html <result name>Use$ aps-report --helpto see the available options.
- Determine appropriate next steps based on result analysis. Common next steps may include communication tuning with thempituneutility or using another performance analysis tool for more detailed information, such as Intel® Trace Analyzer and Collector orIntel® VTune™.Profiler
- Improve accuracy and limit collected data by running Application Performance Snapshot using the pause/resume functionality or a selective collection. For instance, begin the application paused using the-start-pausedoption and add_itt_resume()orMPI_Pcontrol(1)to your application after a warmup phase. See the Application Performance Snapshot User's Guide for more information.
- Get started.
- Get started.
- Vectorization Advisor: Optimization tool to identify loops that will benefit most from vectorization, analyze what is blocking effective vectorization, and forecast the benefit of alternative data reorganizations.
- Threading Advisor: Threading design and prototyping tool to analyze, design, tune, and check threading design options without disrupting a regular environment.
Quick Metrics Reference
Documentation and Resources
User forum dedicated to all Intel Performance Snapshot tools, including Application Performance Snapshot.
Application Performance Snapshot product page. See this page for support and online documentation.
Learn more about Application Performance Snapshot, including details on specific metrics and best practices for application optimization.