diff --git a/sycl/test-e2e/VirtualMem/lit.local.cfg b/sycl/test-e2e/VirtualMem/lit.local.cfg new file mode 100644 index 0000000000000..17152840f2a8d --- /dev/null +++ b/sycl/test-e2e/VirtualMem/lit.local.cfg @@ -0,0 +1,2 @@ +# Tests are sharing same required aspect +config.required_features += ['aspect-ext_oneapi_virtual_mem'] diff --git a/sycl/test-e2e/VirtualMem/memory_granularity.cpp b/sycl/test-e2e/VirtualMem/memory_granularity.cpp new file mode 100644 index 0000000000000..ad94de605bde5 --- /dev/null +++ b/sycl/test-e2e/VirtualMem/memory_granularity.cpp @@ -0,0 +1,48 @@ +// This test checks whether memory granularity returned is greater than 0 and +// that the recommended granularity is the same size or greater than the minimum +// granularity for virtual memory extension. + +// RUN: %{build} -o %t.out +// RUN: %{run} %t.out + +#include + +#include + +#include + +namespace syclext = sycl::ext::oneapi::experimental; + +int main() { + sycl::queue Q; + sycl::context Context = Q.get_context(); + sycl::device Device = Q.get_device(); + + size_t DevRecommended = syclext::get_mem_granularity( + Device, Context, syclext::granularity_mode::recommended); + size_t ContextRecommended = syclext::get_mem_granularity( + Context, syclext::granularity_mode::recommended); + size_t DevMinimum = syclext::get_mem_granularity( + Device, Context, syclext::granularity_mode::minimum); + size_t ContextMinimum = + syclext::get_mem_granularity(Context, syclext::granularity_mode::minimum); + + assert(DevRecommended > 0 && + "recommended granularity for device should be greater than 0"); + assert(ContextRecommended > 0 && + "recommended granularity for context should be greater than 0"); + + assert(DevMinimum > 0 && + "minimum granularity for device should be greater than 0"); + assert(ContextMinimum > 0 && + "minimum granularity for context should be greater than 0"); + + assert(DevRecommended >= DevMinimum && + "recommended granularity size must be at least minimum granularity " + "for device"); + assert(ContextRecommended >= ContextMinimum && + "recommended granularity size must be at least minimum granularity " + "for context"); + + return 0; +} diff --git a/sycl/test-e2e/VirtualMem/vector_with_virtual_mem.cpp b/sycl/test-e2e/VirtualMem/vector_with_virtual_mem.cpp index b6f75486b66ca..85fbd3fbdabbc 100644 --- a/sycl/test-e2e/VirtualMem/vector_with_virtual_mem.cpp +++ b/sycl/test-e2e/VirtualMem/vector_with_virtual_mem.cpp @@ -1,4 +1,4 @@ -// REQUIRES: aspect-ext_oneapi_virtual_mem, aspect-usm_shared_allocations +// REQUIRES: aspect-usm_shared_allocations // XFAIL: linux && gpu-intel-dg2 // XFAIL-TRACKER: https://github.com/intel/llvm/issues/15812