cccl icon indicating copy to clipboard operation
cccl copied to clipboard

[FEA]: Implement concrete types that satisfy the `cuda::mr::async_resource` concepts

Open miscco opened this issue 1 year ago • 0 comments

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.

  1. 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 a cuda_memory_pool abstraction that takes care of the initialization and destruction of the memory pool so that a user does not need to worry about that.

  2. We need an async memory resource that utilizes cudaMallocAsync. That resource will store the cudaMempool_t so 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

miscco avatar Jul 31 '24 08:07 miscco