MLX Array API compatibility: upstream status, compatibility
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 28/100
Research direction
Start with the listed array-api-tests command and its array_api_tests/test_searching_functions.py entry point, then review sub-issues #451, #452 and #462 plus the linked upstream issues. Done means the compatibility scope, known failures, and general blockers are tracked across the relevant upstream projects; this umbrella issue does not define one standalone change.
Written by the indexing model from the issue text.
Description
MLX Array API compatibility overview
This issue tracks the compatibility of MLX with the Python Array API
standard and coordinates potential changes across:
- MLX
- array-api-compat
- array-api-tests
- the Array API specification
Scope
- Array API version:
- MLX version/commit:
- array-api-tests commit:
- array-api-compat branch/commit:
- Platform: macos
Compatibility tracking:
- Constants, Datatypes and Array Attributes #451
- Creation Methods #452
- Manipulation Methods #462
- Statistical functions https://github.com/data-apis/array-api-compat/issues/463
- Operators and elementwise functions: https://github.com/data-apis/array-api-compat/issues/465
- Indexing functions: https://github.com/data-apis/array-api-compat/issues/466
The desired endgame
Upstream has a CI job which runs array-api-tests with a list of known failures.
The test suite needs to run with ARRAY_API_TESTS_SKIP_DTYPES=float64 environment variable, and --disable-data-dependent-shapes. For example,
ARRAY_API_TESTS_SKIP_DTYPES=float64 ARRAY_API_TESTS_MODULE=mlx.core pytest array_api_tests/test_searching_functions.py -v --disable-data-dependent-shapes --max-examples=1000
Process
Use this issue an umrella issue, open individual issues for groups of tests from the test suite, edit the links into this top post into the list above. (If you cannot edit it, ping @ev-br)
Problems/failures with individual functions, as uncovered by the test suite: discuss in the sub-issues. Keep this one for general blockers.
Known blockers
- missing
__array_namespace_info__: would be best to submit a PR upstream - missing
.deviceattribute of the array object : nothing to do about it
- Dominant language
- Python
- Stars
- 131
- Forks
- 49
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 6
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from data-apis/array-api-compat
-
blocked by upstream
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
data-apis/array-api-compat#439 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
data-apis/array-api-compat#395 · 2 comments ·
-
Release 1.16 Open
Difficulty 5/5 Over a week Newbie friendliness 25/100
data-apis/array-api-compat#476 ·
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
data-apis/array-api-compat#473 · 4 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
data-apis/array-api-compat#465 · 3 comments ·
All issues in data-apis/array-api-compat
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100