This repository was archived by the owner on Nov 17, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6.7k
This repository was archived by the owner on Nov 17, 2023. It is now read-only.
[RFC] Python Array API standardization #20501
Copy link
Copy link
Open
Labels
RFCPost requesting for commentsPost requesting for comments
Description
Problem statement
Python API Standard is an standard Array API for all Python numerical computing, data science, machine learning, and deep learning frameworks. By specifying an API for the most common ways arrays are constructed and used, It aims to address the differences among those frameworks that makes developers quite difficult to write code that works with multiple (or all) of these libraries.
Proposed solutions
By comparing the Python API Standard and APIs in MXNet.numpy, an list of APIs similar to the list in pytorch Python Array API Compatibility Tracker is formed. Further works will be done according to the list attached. The dlpack synchronization APIs in the list is specified in Specify synchronization semantics.
References
- Python API Standard
- pytorch Python Array API Compatibility Tracker
- dlpack Specify synchronization semantics
On-going Efforts
Attachment
MXNet & Python Api Standard Comparison
- current list is base on APIs in MXNet 2.0 & Python Data API Specification(commit: cf5aa666017b8a8a2117aa1cb1770eb1cf841942)
- We classified each API into 6 categories:
- No Changes: The current PyTorch implementation already conforms to the Data API.
- New API: Need to add a new function or constant.
- Enhancement: Need enhancement to the existing function (add new argument, etc.).
- Enhancement with BC: Need to change signature of the existing function. (breaking change if we implement the API directly under torch.* namespace)
- Behavior: Need to change behavior of the existing function. (breaking change if we implement the API directly under torch.* namespace)
- N/A: The detailed specification is not determined yet in the Data API.
- There is 46 New APIs needed, 60 current APIs needed to be enhanced, 0 API needed to change behavior and 2 APIs is not specified in current Data API commit.
@barry-jin @szha
leofangsandeep-krishnamurthy, barry-jin and AnirudhDagarsandeep-krishnamurthy, barry-jin, szha, TristonC, AnirudhDagar and 1 more
Metadata
Metadata
Assignees
Labels
RFCPost requesting for commentsPost requesting for comments