Developer Guide
FPGA Optimization Guide for Intel® oneAPI Toolkits
A newer version of this document is available. Customers should click here to go to the newest version.
Visible to Intel only — GUID: GUID-D0417DA9-2540-4CCE-915C-12B13611FC22
Visible to Intel only — GUID: GUID-D0417DA9-2540-4CCE-915C-12B13611FC22
FPGA Extensions
The following section summarizes FPGA extensions supported:
fpga_reg Extension
FPGA Extension |
Description |
Example |
---|---|---|
ext::intel::fpga_reg() | Helps the compiler infer at least one pipelining register in the datapath. |
|
task_sequence Extension
The following table summarizes the task_sequence template parameters and function APIs:
Template Parameter | Description |
---|---|
auto &f typename ReturnT, typename... ArgsT, ReturnT (&f)(ArgsT...) | Callable f that defines the asynchronous task to be associated with the task_sequence. |
uint32_t invocation_capacity | The size of the hardware queue instantiated for async() function calls. |
uint32_t response_capacity | The size of the hardware queue instantiated to hold task function results. |
Function API | Description |
---|---|
void async(ArgsT... Args) | Asynchronously calls f with Args. Increments the number of outstanding tasks by 1. |
ReturnT get() | Synchronously retrieves the result of an asynchronous call. |
~task_sequence() | Destructor for task_sequence. |
device_global Extension
FPGA Extension |
Description |
Example |
---|---|---|
sycl::ext::oneapi::experimental::device_global() | Introduces device-scoped memory allocations into SYCL that can be accessed within a kernel using C++ global variable syntax. These memory allocations have unique instances per SYCL device. |
|