cccl
cccl copied to clipboard
[FEA]: Implement concrete types that satisfy the `cuda::mr::async_resource` concepts
Stream ordered memory allocations are non trivial and we need to provide users with a simple but effective way of using stream ordered allocations.
This will require two different data structures for full flexibility.
-
We need a wrapper around a
cudaMempool_t. Stream ordered memory allocations work with pools, which require a non trivial amount of work to set up. We will build acuda_memory_poolabstraction that takes care of the initialization and destruction of the memory pool so that a user does not need to worry about that. -
We need an async memory resource that utilizes
cudaMallocAsync. That resource will store thecudaMempool_tso that it is easy to use but also easy to customize
### Concrete types that satisfy the resource and async\_resource concepts
- [ ] https://github.com/NVIDIA/cccl/issues/1514