Determines whether the compiler enforces stateless memory accesses within ESIMD kernels on the target device. This is an experimental feature.
Linux: | -fsycl-esimd-force-stateless-mem -fno-sycl-esimd-force-stateless-mem |
Windows: | -fsycl-esimd-force-stateless-mem -fno-sycl-esimd-force-stateless-mem |
None
OFF |
Memory accesses that are stateful are not converted to stateless. |
This option determines whether the compiler enforces stateless memory accesses within ESIMD kernels on the target device. This is an experimental feature.
Option -fsycl-esimd-force-stateless-mem uses SYCL* accessors to convert stateful memory to stateless memory. SIMD intrinsics that cannot be automatically converted are disabled and reported during the compilation phase.
In cases where a target does not support stateful accesses, option -fsycl-esimd-force-stateless-mem may be helpful to avoid issues caused by the 4Gb-per-surface limitation in programs written with SYCL accessors.
If you specify -fno-sycl-esimd-force-stateless-mem, the compiler does not enforce stateless memory accesses.
When using the icx/icpx compiler driver for option -fsycl-esimd-force-stateless-mem, you must also specify option -fsycl.
When using the dpcpp compiler driver, option -fsycl is implied by default.
When SYCL offloading is enabled, this option only applies to device-specific compilation.
None