## 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