You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Currently rmm intermixes C++ API bindings and Cython declarations in the same pxd files. All of these pxd files are contained in the _lib module, whose name suggests that it is internal. However, this module is used by essentially all RAPIDS libraries because their Cython code compiling against Cython classes like rmm._lib.device_buffer.DeviceBuffer. Therefore, despite being ostensibly private, it is in fact treated as part of the public API by the rest of RAPIDS.
Describe the solution you'd like
The Cython C++ API bindings should be moved into a separate subpackage that is not conflated with the pure Cython code. The Cython code should be moved into a new subpackage whose name clearly indicates that it is intended to be public.
Describe alternatives you've considered
None
Additional context
Since any change here would be a breaking change to the rest of RAPIDS, it would be best to alias all existing types back into rmm._lib when the new module structure is created along with deprecation warnings. See #1221 for a template of how to do this.
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
Currently rmm intermixes C++ API bindings and Cython declarations in the same pxd files. All of these pxd files are contained in the
_lib
module, whose name suggests that it is internal. However, this module is used by essentially all RAPIDS libraries because their Cython code compiling against Cython classes likermm._lib.device_buffer.DeviceBuffer
. Therefore, despite being ostensibly private, it is in fact treated as part of the public API by the rest of RAPIDS.Describe the solution you'd like
The Cython C++ API bindings should be moved into a separate subpackage that is not conflated with the pure Cython code. The Cython code should be moved into a new subpackage whose name clearly indicates that it is intended to be public.
Describe alternatives you've considered
None
Additional context
Since any change here would be a breaking change to the rest of RAPIDS, it would be best to alias all existing types back into
rmm._lib
when the new module structure is created along with deprecation warnings. See #1221 for a template of how to do this.The text was updated successfully, but these errors were encountered: