18 #include <rmm/detail/cccl_adaptors.hpp>
19 #include <rmm/detail/cuda_memory_resource.hpp>
20 #include <rmm/detail/error.hpp>
21 #include <rmm/detail/export.hpp>
23 namespace RMM_NAMESPACE {
31 #if CCCL_MAJOR_VERSION > 3 || (CCCL_MAJOR_VERSION == 3 && CCCL_MINOR_VERSION >= 1)
38 detail::cccl_resource_ref<cuda::mr::synchronous_resource_ref<cuda::mr::device_accessible>>;
45 detail::cccl_async_resource_ref<cuda::mr::resource_ref<cuda::mr::device_accessible>>;
52 detail::cccl_resource_ref<cuda::mr::synchronous_resource_ref<cuda::mr::host_accessible>>;
59 detail::cccl_async_resource_ref<cuda::mr::resource_ref<cuda::mr::host_accessible>>;
66 cuda::mr::synchronous_resource_ref<cuda::mr::host_accessible, cuda::mr::device_accessible>>;
73 cuda::mr::resource_ref<cuda::mr::host_accessible, cuda::mr::device_accessible>>;
82 detail::cccl_resource_ref<cuda::mr::resource_ref<cuda::mr::device_accessible>>;
89 detail::cccl_async_resource_ref<cuda::mr::async_resource_ref<cuda::mr::device_accessible>>;
96 detail::cccl_resource_ref<cuda::mr::resource_ref<cuda::mr::host_accessible>>;
103 detail::cccl_async_resource_ref<cuda::mr::async_resource_ref<cuda::mr::host_accessible>>;
110 cuda::mr::resource_ref<cuda::mr::host_accessible, cuda::mr::device_accessible>>;
117 cuda::mr::async_resource_ref<cuda::mr::host_accessible, cuda::mr::device_accessible>>;
130 template <
class Resource>
133 RMM_EXPECTS(res,
"Unexpected null resource pointer.");
detail::cccl_async_resource_ref< cuda::mr::async_resource_ref< cuda::mr::host_accessible > > host_async_resource_ref
Alias for a cuda::mr::async_resource_ref with the property cuda::mr::host_accessible.
Definition: resource_ref.hpp:103
detail::cccl_resource_ref< cuda::mr::resource_ref< cuda::mr::device_accessible > > device_resource_ref
Alias for a cuda::mr::resource_ref with the property cuda::mr::device_accessible.
Definition: resource_ref.hpp:82
detail::cccl_async_resource_ref< cuda::mr::async_resource_ref< cuda::mr::host_accessible, cuda::mr::device_accessible > > host_device_async_resource_ref
Alias for a cuda::mr::async_resource_ref with the properties cuda::mr::host_accessible and cuda::mr::...
Definition: resource_ref.hpp:117
detail::cccl_async_resource_ref< cuda::mr::async_resource_ref< cuda::mr::device_accessible > > device_async_resource_ref
Alias for a cuda::mr::async_resource_ref with the property cuda::mr::device_accessible.
Definition: resource_ref.hpp:89
detail::cccl_resource_ref< cuda::mr::resource_ref< cuda::mr::host_accessible, cuda::mr::device_accessible > > host_device_resource_ref
Alias for a cuda::mr::resource_ref with the properties cuda::mr::host_accessible and cuda::mr::device...
Definition: resource_ref.hpp:110
device_async_resource_ref to_device_async_resource_ref_checked(Resource *res)
Convert pointer to memory resource into device_async_resource_ref, checking for nullptr
Definition: resource_ref.hpp:131
detail::cccl_resource_ref< cuda::mr::resource_ref< cuda::mr::host_accessible > > host_resource_ref
Alias for a cuda::mr::resource_ref with the property cuda::mr::host_accessible.
Definition: resource_ref.hpp:96