Thrust Integrations#
-
template<typename T>
using device_vector = thrust::device_vector<T, rmm::mr::thrust_allocator<T>># Alias for a thrust::device_vector that uses RMM for memory allocation.
-
using thrust_exec_policy_t = thrust::detail::execute_with_allocator<mr::thrust_allocator<char>, thrust::cuda_cub::execute_on_stream_base>#
Synchronous execution policy for allocations using Thrust.
-
using thrust_exec_policy_nosync_t = thrust::detail::execute_with_allocator<mr::thrust_allocator<char>, thrust::cuda_cub::execute_on_stream_nosync_base>#
Asynchronous execution policy for allocations using Thrust.
-
class exec_policy : public thrust_exec_policy_t#
- #include <exec_policy.hpp>
Helper class usable as a Thrust CUDA execution policy that uses RMM for temporary memory allocation on the specified stream.
Public Functions
-
explicit exec_policy(cuda_stream_view stream = cuda_stream_default, device_async_resource_ref mr = mr::get_current_device_resource_ref())#
Construct a new execution policy object.
- Parameters:
stream – The stream on which to allocate temporary memory
mr – The resource to use for allocating temporary memory
-
explicit exec_policy(cuda_stream_view stream = cuda_stream_default, device_async_resource_ref mr = mr::get_current_device_resource_ref())#
-
class exec_policy_nosync : public thrust_exec_policy_nosync_t#
- #include <exec_policy.hpp>
Helper class usable as a Thrust CUDA execution policy that uses RMM for temporary memory allocation on the specified stream and which allows the Thrust backend to skip stream synchronizations that are not required for correctness.
Public Functions
-
explicit exec_policy_nosync(cuda_stream_view stream = cuda_stream_default, device_async_resource_ref mr = mr::get_current_device_resource_ref())#
Construct a new execution policy object.
- Parameters:
stream – The stream on which to allocate temporary memory
mr – The resource to use for allocating temporary memory
-
explicit exec_policy_nosync(cuda_stream_view stream = cuda_stream_default, device_async_resource_ref mr = mr::get_current_device_resource_ref())#