CPU/FPGA Interaction Analysis
- Global Bandwidth
Configure and Run Analysis
- To obtain device side information from the FPGA when profiling, make sure you specify the profile flag for the compile operation:To compileUseSpecifyOpenCL ApplicationsIntel® FPGA SDK for OpenCL™ Offline Compiler-profileoptionDPC++ ApplicationsIntel® oneAPI DPC++/C++ Compiler-XsprofileoptionFor other compiler options (exclusive to OpenCL profiling), see the FPGA Programming Guide.
- Click the (standalone GUI)/ (Visual Studio IDE)Configure Analysisbutton on theIntel® VTune™toolbar.ProfilerTheConfigure Analysiswindow opens.
- In theWHATpane,
- Specify the host executable in theApplicationbar.
- If applicable, specify arguments for the host application asApplication parameters.
- In theHOWpane, click the Browse button.
- SelectCPU/FPGA Interactionanalysis type from theAcceleratorsgroup.
- Enter the CPU sampling interval in milliseconds.
- Specify if the collection should include CPU call stacks.
- Specify a source for the FPGA profiling data:
- OpenCL Profiling API- This source profiles only the host application.
- AOCL Profiler- This source profiles the host application as well as the design on your FPGA.
Import FPGA Data collected with Profiler Runtime Wrapper
- The Summary window displays statistics on the overall application execution, identifying CPU time and processor utilization, and execution time for DPC++ or OpenCL kernels. Double click a kernel in the Bottom-up view to see detailed performance data through the Source view.
- FPGA Utilization: Look at theFPGA Top Compute Taskson theSummarywindow for a list of kernels running on the FPGA. TheBottom-upwindow shows the Total and Average execution time for every kernel.
- Memory Transfers: Look at theData Transferredcolumn on theBottom-upwindow or theComputing Queuerows on thePlatformwindow to view DPC++ or OpenCL kernels and memory transfers.
- Workload Impact: TheContext Switch Timemetric on theSummarywindow shows how much time was spent in CPU context switches. Context switches can also be seen on thePlatformtab as they occurred during application execution.