Enables parallel compilation of SPIR-V* kernels for OpenMP offload Ahead-Of-Time compilation. This feature is only available for ifx.
Linux: | -fopenmp-device-code-split=[triple=]per_kernel |
Windows: | /Qopenmp-device-code-split:[triple=]per_kernel |
triple |
Is a target device name, such as spir64, spir64_gen, etc.. If triple is specified, code splitting will only be applied for that specific target. |
per_kernel |
Creates a separate device code module for each SYCL* kernel. Each device code module will contain a kernel and all its dependencies, such as called functions and used variables. |
OFF |
No device code splitting of SPIR-V* kernels occurs for OpenMP offload Ahead-Of-Time compilation. |
This option enables parallel compilation of SPIR-V* kernels for OpenMP offload Ahead-Of-Time compilation.
To specify the maximum number of parallel actions to perform, use option -fopenmp-max-parallel-link-jobs (Linux) or /Qopenmp-max-parallel-link-jobs (Windows).
When OpenMP offloading is enabled, this option only applies to device-specific compilation.
None
The following shows an example of using this option.
Linux
ifx -fiopenmp -fopenmp-targets=spir64_x86_64 -fopenmp-device-code-split=per_kernel -fopenmp-max-parallel-link-jobs=4 file.for
Windows
ifx /Qiopenmp /Qopenmp-targets:spir64_x86_64 /Qopenmp-device-code-split:per_kernel /Qopenmp-max-parallel-link-jobs:4 file.for