Add optional support for GPU page faults in SYCL2020 and OMP backends#217
Conversation
tomdeakin
left a comment
There was a problem hiding this comment.
The OpenMP version needs to use the requires(unified_shared_memory) directive for correctness according to the standard. Please can you update the change to use this?
I do not believe the SYCL change here is standards compliant to SYCL 2020. Please can you remove this change.
|
@tomdeakin Thanks for reviewing. Sure, let me add that directive to the OpenMP version. The SYCL change is an attempt to make use of [1]:
Would you have a recommendation to make it compliant? [1] https://registry.khronos.org/SYCL/specs/sycl-2020/html/sycl-2020.html#_usm_allocations |
|
Good point, thanks for reminding me of that sentence. I don't think SYCL has a way to programmatically check for system capability, so the solution you have is probably as good as we can do for now. Thanks! |
Tested on Intel B580 with:
$ cmake -Bbuild -H. \
-DMODEL=sycl2020-usm \
-DSYCL_COMPILER=ONEAPI-ICPX \
-DMEM=PAGEFAULT
$ cmake --build build
$ NEOReadDebugKeys=1 \
EnableSharedSystemUsmSupport=1 \
./build/sycl2020-usm-stream
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
|
@tomdeakin This pull request is now rebased on UoB-HPC:develop and includes the OpenMP directive which was missing. |
tomdeakin
left a comment
There was a problem hiding this comment.
SYCL changes are fine. Just one query about the OpenMP is_device_ptr clause I added to a comment. Thanks for working through this!
Tested on Intel B580 with:
$ cmake -Bbuild -H. \
-DMODEL=omp \
-DOFFLOAD=ON \
-DCMAKE_CXX_COMPILER=icpx \
-DCXX_EXTRA_FLAGS="-fiopenmp -fopenmp-targets=spir64" \
-DMEM=PAGEFAULT
$ cmake --build build
$ NEOReadDebugKeys=1 \
EnableSharedSystemUsmSupport=1 \
OMP_TARGET_OFFLOAD=MANDATORY \
./build/omp-stream
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
|
@tomdeakin I pushed a new OpenMP version without |
|
Something is causing the CI to fail vs the |
|
Does it come from the change or from the CI environment itself? |
|
Looks like the environment. |
No description provided.