Developer Guide and Reference

Contents

fopenmp-target-buffers, Qopenmp-target-buffers

Enables a way to overcome the problem where some OpenMP* offload SPIR-V* devices produce incorrect code when a target object is larger than 4GB.

Syntax

Linux:
-fopenmp-target-buffers
=
keyword
Windows:
/Qopenmp-target-buffers
:
keyword
Arguments
keyword
Possible values are:
default
Tells the compiler to use default heuristics. This may produce incorrect code on some OpenMP* offload SPIR-V* devices when a target object is larger than 4GB.
4GB
Tells the compiler to generate code to prevent the issue described by
default
. OpenMP* offload programs that access target objects of size larger than 4GB in target code require this option.
This setting applies to the following:
  • Target objects declared in OpenMP* target regions or inside OpenMP* declare target functions
  • Target objects that exist in the OpenMP* device data environment
  • Objects that are mapped and/or allocated by means of OpenMP* APIs (such as omp_target_alloc)
Default
default
If you do not specify this option, the compiler may produce incorrect code on some OpenMP* offload SPIR-V* devices when a target object is larger than 4GB.
Description
This option enables a way to overcome the problem where some OpenMP* offload SPIR-V* devices produce incorrect code when a target object is larger than 4GB (4294959104 bytes).
However, note that when
-fopenmp-target-buffers=4GB
(or
/Qopenmp-target-buffers:4GB
) is specified on Intel® GPUs, there may be a decrease in performance.
To use this option, you must also specify option
-fopenmp-targets
(Linux*) or
/Qopenmp-targets
(Windows*).
This option may have no effect for some OpenMP* offload SPIR-V* devices, and for OpenMP* offload targets different from SPIR*.
IDE Equivalent
Visual Studio:
DPC++ > Language > Specify buffer size for OpenMP offload kernel access limitations
(DPC++)
Visual Studio:
C/C++ > Language [Intel C++] > Specify buffer size for OpenMP offload kernel access limitations
(C++)
Eclipse:
Intel(R) oneAPI DPC++ Compiler > Language > Specify buffer size for OpenMP offload kernel access limitations
(DPC++)
Eclipse:
Intel C++ Compiler > Language > Specify buffer size for OpenMP offload kernel access limitations
(C++)
Alternate Options
None

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.