Visible to Intel only — GUID: GUID-90706CB5-8757-4128-98B3-7F9F7CC07C6E
Visible to Intel only — GUID: GUID-90706CB5-8757-4128-98B3-7F9F7CC07C6E
Emulator Known Issues
A few known issues might affect your use of the emulator. Review these issues to avoid possible problems when using the emulator.
Discrepancy in the Results for Task Sequence Functions
For task sequence functions that have multiple async() calls before the first get() call, the order the get() calls return results may not be the order in which the async() calls were called. To overcome this issue, use the simulator to verify that correct results are being returned in this scenario.
Compiler Diagnostics
Some compiler diagnostics are not yet implemented for the emulator.
CL_OUT_OF_RESOURCES Error Returned When Launching a Kernel
This can occur when a kernel uses more __private or __local memory than the emulator supports by default.
Once you have determined the amount of memory needed, try setting larger values for the CL_CONFIG_CPU_FORCE_PRIVATE_MEM_SIZE or the CL_CONFIG_CPU_FORCE_LOCAL_MEM_SIZE environment variable, as described in Emulator Environment Variables.
FPGA Runtime Compatibility With Emulation Binaries
The oneAPI FPGA runtime does not support emulation binaries built using an earlier version of oneAPI. You must recompile emulation binaries with the current oneAPI release.
libstdc++.so and GCC Version
The emulator is built with GCC 7.4.0 as part of the Intel® oneAPI DPC++/C++ Compiler. When running the executable for an emulated FPGA device, the version of libstdc++.so must be at least that of GCC 7.4.0. In other words, the LD_LIBRARY_PATH environment variable must ensure that the correct version of libstdc++.so is found.
If the correct version of libstdc++.so is not found, the call to clGetPlatformIDs function fails to load the FPGA emulator platform and returns CL_PLATFORM_NOT_FOUND_KHR (error code -1001). Depending on which version of libstdc++.so is found, the call to clGetPlatformIDs may succeed, but a later call to the clCreateContext function may fail with CL_DEVICE_NOT_AVAILABLE (error code -2).
If the LD_LIBRARY_PATH does not point to a compatible libstdc++.so, use the following syntax to invoke the host program:
env LD_LIBRARY_PATH=<path to compatible libstdc++.so>:$LD_LIBRARY_PATH <executable> [executable arguments]