Intel® Advisor User Guide

ID 766448
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

Collect SYCL Application Traces

NOTE:
SYCL trace collection is currently supported only on Linux* OS.

The command line collector for Flow Graph Analyzer enables you to capture trace data from SYCL applications. To collect SYCL traces, you will need trace-enabled SYCL run-times. Use the code from Analyze Data Parallel C++ Application as a sample application. To build it:

  1. Copy the code snippet from Analyze Data Parallel C++ Application and save it as va_const.cpp.

  2. Run the following command to build it:

    icpx -fsycl -o vac ./va_const.cpp

To collect traces for the SYCL application using the built sample and create the XML files to view with Flow Graph Analyzer:

  1. Set the environment variable FGT_ROOT to point to <fga-install-dir>/fgt:

    export FGT_ROOT=<advisor-install-dir>/fga/fgt
  2. Set the back end for the SYCL run-time to OpenCL™ by setting the following environment variable:

    export SYCL_BE=PI_OPENCL
    NOTE:
    Current version of Flow Graph Collector does not support Level0.
  3. Run the application using the Flow Graph Analyzer collector:

    $FGT_ROOT/linux/bin/fgtrun.sh ./vac gpu

    This command will generate two files: vac.graphml, which contains the semantic information of what was executed, as in the asynchronous task-graph, and vac.traceml, which contains the execution traces of the application. Open the files in the Flow Graph Analyzer on the current system or copy them to another system with Flow Graph Analyzer installed to investigate.

To launch the Flow Graph Analyzer graphical user interface, use the following command:

<fga-install-dir>/fga/run_fga.sh &