Intel® FPGA SDK for OpenCL™ Pro Edition: Programming Guide

ID 683846
Date 3/28/2022

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

Document Table of Contents

8.2.2. Emulating Channel Depth

When you compile your OpenCL* kernel for emulation, the default channel depth is different from the default channel depth generated when your kernel is compiled for hardware. You can change this behavior when you compile your kernel for emulation with the CL_CONFIG_CHANNEL_DEPTH_EMULATION_MODE environment variable.

This CL_CONFIG_CHANNEL_DEPTH_EMULATION_MODE environment variable can take the following values:
All channels are given a channel depth chosen to provide the fastest execution time for your kernel emulation. Any explicitly set channel depth attribute is ignored.

This value is used by default if CL_CONFIG_CHANNEL_DEPTH_EMULATION_MODE environment variable is not set.

Channels with an explicit depth attribute have their specified depth. Channels without a specified depth are given a default channel depth that is chosen to provide the fastest execution time for your kernel emulation.
All channel depths in the emulation are given a depth that matches the depth given for the FPGA compilation.
Important: For channels, the CL_CONFIG_CHANNEL_DEPTH_EMULATION_MODE environment variable should be set before you compile a kernel. For pipes, it should be set before you run the host program.