Problem
system_memory_resource needs a runtime support check for system allocated memory support using cudaDevAttrPageableMemoryAccess. That check currently lives with the memory resource implementation, while similar CUDA/runtime feature probes live in rmm/detail/runtime_capabilities.hpp.
Tests also need to skip system memory resource coverage when the runtime capability is unavailable. Keeping this probe as a memory-resource detail helper leaks resource implementation details into tests.
Proposed Solution
Add a system memory capability probe to rmm/detail/runtime_capabilities.hpp, alongside existing probes such as runtime_async_alloc, concurrent_managed_access, and device_integrated_memory.
Then update system_memory_resource and tests to use that runtime capability API instead of a memory-resource detail helper.
Acceptance Criteria
- System memory support is checked through
rmm/detail/runtime_capabilities.hpp.
system_memory_resource uses the shared runtime capability probe.
- System memory tests use the shared runtime capability probe for skips.
- No
rmm::mr::detail::is_system_memory_supported helper remains necessary.
- Existing system memory resource tests pass.
Problem
system_memory_resourceneeds a runtime support check for system allocated memory support usingcudaDevAttrPageableMemoryAccess. That check currently lives with the memory resource implementation, while similar CUDA/runtime feature probes live inrmm/detail/runtime_capabilities.hpp.Tests also need to skip system memory resource coverage when the runtime capability is unavailable. Keeping this probe as a memory-resource detail helper leaks resource implementation details into tests.
Proposed Solution
Add a system memory capability probe to
rmm/detail/runtime_capabilities.hpp, alongside existing probes such asruntime_async_alloc,concurrent_managed_access, anddevice_integrated_memory.Then update
system_memory_resourceand tests to use that runtime capability API instead of a memory-resource detail helper.Acceptance Criteria
rmm/detail/runtime_capabilities.hpp.system_memory_resourceuses the shared runtime capability probe.rmm::mr::detail::is_system_memory_supportedhelper remains necessary.