Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Replace use of custom CUDA bindings with CUDA-Python (#930)
This PR removes many of the custom CUDA bindings we wrote in RMM to support calls to the driver/runtime APIs from Python in downstream libraries (cudf, cuml, cugraph). We should now use [CUDA Python](https://github.com/NVIDIA/CUDA-Python) instead. However, the module `rmm._cuda.gpu` is not being removed. It _has_ been converted from an extension module (`.pyx`) to a regular `.py` module. This module contains high-level wrappers around raw CUDA bindings, with some niceties like converting errors to exceptions with the appropriate error message. Reimplementing that functionality in each downstream library would be a bad idea. When CUDA Python rolls its own higher-level API, we can remove the `gpu` module as well. One API change worth mentioning here is to the function `rmm._cuda.gpu.getDeviceAttribute`. Previously, the API accepted a `cudaDeviceAttr`, a type defined as part of RMM's custom CUDA bindings. The API has now changed to accept a `cudaDeviceAttr` defined in CUDA-Python. This requires changes in downstream libraries that use this API. I am marking this PR _non-breaking_ as it does not affect the user-facing API. It does cause breakages in downstream libraries that are currently relying on internal APIs (from the `rmm._cuda` module). Authors: - Ashwin Srinath (https://github.com/shwina) Approvers: - AJ Schmidt (https://github.com/ajschmidt8) - Bradley Dice (https://github.com/bdice) - https://github.com/jakirkham URL: #930
- Loading branch information