data-apis / array-api-compat

Compatibility layer for common array libraries to support the Array API
https://data-apis.org/array-api-compat/
MIT License
69 stars 22 forks source link

Support for 2023.12 #127

Open asmeurer opened 5 months ago

asmeurer commented 5 months ago

This is a tracking issue for 2023.12 support in array-api-compat.

The list of changes for 2023.12 is at https://data-apis.org/array-api/latest/changelog.html#v2023-12

Currently, we don't have test suite support for 2023.12 (https://github.com/data-apis/array-api-tests/issues/249), so it's hard to implement full support. However, if there are any known differences for a given library and 2023.12, we can implement a wrapper for them, especially if this is blocking anyone's real world usage. Please comment below if this is the case for you.

Note that any function that is already implemented in upstream libraries will already work with array-api-compat, since it only extends the existing library namespaces. So this is only necessary if some upstream function or behavior is different from what is written in the 2023.12 standard.

Here is the checklist of functions (from https://github.com/data-apis/array-api-tests/issues/249):

Here is the list of changes https://data-apis.org/array-api/latest/changelog.html#v2023-12

New Functions

API Changes

Other Changes

asmeurer commented 1 month ago

https://github.com/data-apis/array-api-compat/pull/166

asmeurer commented 2 weeks ago

@leofang I'm looking at implementing the inspection APIs for CuPy https://data-apis.org/array-api/latest/API_specification/inspection.html. I have some questions:

Unfortunately, while I do have a CUDA GPU, I don't currently have a machine with more than one to test this stuff on.

asmeurer commented 2 weeks ago

I implemented something at https://github.com/data-apis/array-api-compat/pull/166/files#diff-c81a58c37b983a1eea2b7fcc43f23c8c769acac5e6d0cf1763e9a3964568c035, but I made some assumptions about the answers to the above questions.

asmeurer commented 2 weeks ago

Looking at PyTorch, there are some questions that arise for inspection APIs: