Visible to Intel only — GUID: GUID-C0E55593-EEF4-4A08-AD4B-3B0E0CEE6A85
Visible to Intel only — GUID: GUID-C0E55593-EEF4-4A08-AD4B-3B0E0CEE6A85
fsycl-max-parallel-link-jobs
Tells the compiler that it can simultaneously spawn up to the specified number of processes to perform actions required to link SYCL applications. This is an experimental feature.
Linux: |
-fsycl-max-parallel-link-jobs=n |
Windows: |
-fsycl-max-parallel-link-jobs=n |
n |
Is the number of processes to spawn to. |
-fsycl-max-parallel-link-jobs=1 |
One process is simultaneously spawned to perform actions necessary to link SYCL applications. |
This option tells the compiler that it can simultaneously spawn up to the specified number of processes to perform actions required to link SYCL applications. This is an experimental feature.
Note the following limitations when using this option:
This option has no effect if compiler options such as c or E are specified.
The option does not take effect when device code split is turned off by option -fsycl-device-code-split=off.
The number of processes spawned by -fsycl-max-parallel-link-jobs will not exceed the number of device code modules stemming from the application.
For example, if the application contains m kernels, per_kernel device code split is requested, and n > m processes are requested by -fsycl-max-parallel-link-jobs, m processes will be the spawned maximum.
It is not guaranteed that n processes will always be active.
For example, the current implementation does not enforce that the additional process will be instantly re-assigned to the next device code module after it has finished operating on the current one.
It is not guaranteed that spawning device link processes can be safely combined with the build system-level parallelization.
Whenever specifying a large number of processes to be spawned for device code linkage, you need to beware of increased RAM usage, oversubscription risks, etc., which may cause performance and possibly compilation issues.
When using this option, you must also specify option -fsycl.
For information about available SYCL drivers, refer to Invoke the Compiler.
When SYCL offloading is enabled, this option only applies to device-specific compilation.
None
Example
The following shows examples of using this option on Linux*:
icx -fsycl -fsycl-max-parallel-link-jobs=4 a.cpp b.cpp c.cpp d.cpp -o a.out icx -fsycl -fsycl-max-parallel-link-jobs=8 a.o b.o c.o d.so e.a -o b.out