SYCL: Add table of GNU Make config vars to docs #3400
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR allows the user to parallelize the AOT device compilation when building with the SYCL backend using GNU Make.This PR adds a table of GNU make config vars to the docs.
Additional background
When building with AOT device compilation on the SYCL backend, the device compilation takes place at the linking step and so is not currently parallelized (even when leveraging multiple GNU Make jobs e.g. by using the-j
flag). It can therefore be quite slow. This PR introduces theSYCL_MAX_PARALLEL_LINK_JOBS
makefile variable which is passed as the argument to the-fsycl-max-parallel-link-jobs
flag oficpx
. Although the Intel documentation does stateI think it's probably fine for the case of building an AMReX application where there is only 1 link step at the end after compiling source files.To accompany this change, I have added a table of GNU make variables that are relevant to SYCL.
I guess it would make sense to add a similar option to the CMake build system but I am not very familiar with it.Checklist
The proposed changes: