Intel® FPGA SDK for OpenCL™ Pro Edition: Best Practices Guide

ID 683521
Date 12/13/2021
Public

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

Document Table of Contents

5.3.1. Invoking the Profiler Runtime Wrapper

To profile your FPGA design using the Profiler Runtime Wrapper, first ensure that you have included the -profile option in your aoc command when you compiled your kernels.

The Profiler Runtime Wrapper ensures that data is collected from the performance counters, which are in the compiled design, during the host execution. Data is saved in a profile.mon monitor description file, which the Profiler Runtime Wrapper then post processes and converts into a readable profile.json file. While both the profile.mon and profile.json files are available after host execution completes, you are encouraged to use the profile.json file for further data processing.

To invoke the Profiler Runtime Wrapper, execute the following command:

aocl profile [options] /path/to/host-executable [executable options]

where

  • [options] are any additional flags you want to pass to the wrapper. Use the aocl profile –help command to view a list of options and their uses.
  • /path/to/host-executable is the path to the host executable.
  • [executable options] are options or arguments that must be passed to the host executable.
Note: If you are executing from a different directory than your compilation directory, the wrapper also needs the compiled binary (.aocx) file, which you can pass using the option -x <path/to/.aocx> .
CAUTION:
Because of slow network disk accesses, running the host application from a networked directory might introduce delays between kernel executions. These delays might increase the overall execution time of the host application. In addition, they might introduce delays during kernel executions while the runtime stores profile output data to disk.