[FEA]: Implement `<cuda/experimental/file>`
- Dominant language
- C++
- Stars
- 2.5k
- Forks
- 486
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 295
Description
### Is this a duplicate?
- [x] I confirmed there appear to be no [duplicate issues](https://github.com/NVIDIA/cccl/issues) for this request and that I agree to the [Code of Conduct](CODE_OF_CONDUCT.md)
### Area
CUDA Experimental (cudax)
### Is your feature request related to a problem? Please describe.
I've been wondering whether it would be a good idea to add a wrapper of `cuFile` to cudax.
### Describe the solution you'd like
Implement `` module with:
* `cudax::file` class wrapping operations with `CUfileHandle_t`
* `cudax::file_driver` object implementing `cuFileDriver*()` operations
* `cudax::file_buffer_registerer` RAII wrapper class for registering buffers in cuFile driver
* `cudax::file_stream_registerer` RAII wrapper class for registering stream in cuFile driver
* some more classes for batched IO
I've tried to implement it in #3360 without the batched IO. It is just a not tested proposal, may contain errors.
What do you guys think?
### Describe alternatives you've considered
_No response_
### Additional context
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.