## Problem statement
[Python API Standard](https://data-apis.org/array-api/latest/) 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](https://github.com/pytorch/pytorch/issues/58743) 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](https://github.com/dmlc/dlpack/issues/57).

## References
- [Python API Standard](https://data-apis.org/array-api/latest/)
- [pytorch Python Array API Compatibility 
Tracker](https://github.com/pytorch/pytorch/issues/58743)
- [dlpack Specify synchronization 
semantics](https://github.com/dmlc/dlpack/issues/57)

## On-going Efforts 
https://github.com/apache/incubator-mxnet/pull/20454
https://github.com/apache/incubator-mxnet/pull/20478

## Attachment
[MXNet & Python Api Standard 
Comparison](https://docs.google.com/spreadsheets/d/1pbIPGVXD6FrHqMbKtRqmaT5dzO1tNgb915Th8ZUCoNw/edit?usp=sharing)
- 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 





-- 
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/apache/incubator-mxnet/issues/20501

Reply via email to