21 #include <rmm/detail/error.hpp>
22 #include <rmm/detail/export.hpp>
28 namespace RMM_NAMESPACE {
45 static constexpr std::size_t default_size{16};
55 RMM_EXPECTS(pool_size > 0,
"流池大小必须大于零");
73 return streams_[(next_stream++) % streams_.size()].view();
88 return streams_[stream_id % streams_.size()].view();
101 std::vector<rmm::cuda_stream> streams_;
102 mutable std::atomic_size_t next_stream{};
一个 CUDA 流池。
定义: cuda_stream_pool.hpp:43
cuda_stream_pool(std::size_t pool_size=default_size)
构造一个指定非零大小的新 cuda 流池对象。
定义: cuda_stream_pool.hpp:53
std::size_t get_pool_size() const noexcept
获取池中流的数量。
定义: cuda_stream_pool.hpp:98
rmm::cuda_stream_view get_stream() const noexcept
获取池中某个流的 cuda_stream_view。
定义: cuda_stream_pool.hpp:71
rmm::cuda_stream_view get_stream(std::size_t stream_id) const
获取与 stream_id 关联的流的 cuda_stream_view。相同的 stream_id 值返回...
定义: cuda_stream_pool.hpp:86
CUDA 流的强类型非拥有包装器,带有默认构造函数。
定义: cuda_stream_view.hpp:39