[Refactor] Further decouple DLPack from DGL NDArray
- Dominant language
- Python
- Stars
- 14.3k
- Forks
- 3.1k
- PR merge metrics
- No merged PRs in 30d
Description
## 🔨Work Item
**IMPORTANT:**
* This template is only for dev team to track project progress. For feature request or bug report, please use the corresponding issue templates.
* DO NOT create a new work item if the purpose is to fix an existing issue or feature request. We will directly use the issue in the project tracker.
Project tracker: https://github.com/orgs/dmlc/projects/2
## Description
The issue comes up from PR #4454 . The PR introduced a new data structure called `DGLArray` to replace `DLTensor` from DLPack. The follow up action is to further simplify the codebase. Considerations:
* Currrently, there are three classes `dgl::runtime::NDArray`, `dgl::runtime::NDArray::Container` and `dgl::DGLArray`. The question is whether we can consolidate them into one or two classes.
* Exposing DGL NDArray to Python adds another layer of complexity to the system. For example, there is a `dgl/_ffi/runtime_ctypes.py::DGLArray` python class. We need to further decouple it from DLPack and document clearly what each class is about.
@yaox12 let's use this thread for discussion.
## Depending work items or issues
None
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.