Intel® oneAPI DPC++/C++ Compiler Developer Guide and Reference

ID 767253
Date 11/07/2023
Public

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

Document Table of Contents

fsycl-esimd-force-stateless-mem

Determines whether the compiler enforces stateless memory accesses within ESIMD kernels on the target device. This is an experimental feature.

Syntax

Linux:

-fsycl-esimd-force-stateless-mem

-fno-sycl-esimd-force-stateless-mem

Windows:

-fsycl-esimd-force-stateless-mem

-fno-sycl-esimd-force-stateless-mem

Arguments

None

Default

OFF

Memory accesses that are stateful are not converted to stateless.

Description

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.

NOTE:

When using this option, you must also specify option -fsycl.

If you specify -fno-sycl-esimd-force-stateless-mem, the compiler does not enforce stateless memory accesses.

For information about available SYCL drivers, refer to Invoke the Compiler.

NOTE:

When SYCL offloading is enabled, this option only applies to device-specific compilation.

IDE Equivalent

None

Alternate Options

None