Collect DPC++ Application Traces
DPC++ trace collection is currently supported only on Linux* OS.
The command line collector for Flow Graph Analyzer enables you to capture trace data from Data Parallel C++ (DPC++) applications. To collect DPC++ traces, you will need trace-enabled DPC++ run-times. Use the code from
Analyze Data Parallel C++ Application as a sample application. To build it:
- Copy the code snippet from Analyze Data Parallel C++ Application and save it asva_const.cpp.
- Run the following command to build it:dpcpp -o vac ./va_const.cpp
To collect traces for the DPC++ application using the built sample and create the XML files to view with Flow Graph Analyzer:
- Set the environment variableFGT_ROOTto point to<fga-install-dir>/fgt:export FGT_ROOT=<advisor-install-dir>/fga/fgt
- Set the back end for the DPC++ run-time to OpenCL™ by setting the following environment variable:export SYCL_BE=PI_OPENCLCurrent version of Flow Graph Collector does not supportLevel0.
- Run the application using the Flow Graph Analyzer collector:$FGT_ROOT/linux/bin/fgtrun.sh ./vacThis command will generate two files:vac.graphml, which contains the semantic information of what was executed, as in the asynchronous task-graph, andvac.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 &