aomp
aomp copied to clipboard
Set HSA_XNACK for sollve/OpenMP_VV for more GPUs
At present, several SOLLVE_VV/OpenMP_VV tests for unified shared memory (USM) require the HSA_XNACK=1 setting to work correctly on GPUs that support the feature, but which are running in "xnack-" mode.
The run_sollve.sh/run_OpenMP_VV.sh scripts currently set the environment variable for gfx90a devices only. This patch lets the USM tests run on additional GPU types also, via querying the list of GPUs that support USM in the test/Makefile.defs fragment.
The situation on APUs is a bit more complicated: if we enable HSA_XNACK on those then the USM tests pass, but several SOLLVE_VV/OpenMP_VV tests that are written to rely on a distinct address space for target regions (with in/out copies) regress because we then get "zero-copy" behaviour (i.e. target regions unexpectedly affect the "host versions" of data).
So, for now, we do not set HSA_XNACK on APU devices, perhaps until the above tests are adjusted to allow for "zero-copy" mode.