Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Array API compliance #774

Open
fschlimb opened this issue May 19, 2021 · 8 comments
Open

Array API compliance #774

fschlimb opened this issue May 19, 2021 · 8 comments

Comments

@fschlimb
Copy link
Contributor

A consortium is defining an Array API: https://data-apis.org/array-api/latest/index.html

It seems desirable for HeAT to be as compliant as possible.

The following features are missing in HeAT (others are probably incomplete):

['acosh',
'argsort',
'asinh',
'atanh',
'bitwise_invert',
'bitwise_left_shift',
'bitwise_right_shift',
'broadcast_arrays',
'broadcast_to',
'from_dlpack',
'greater',
'greater_equal',
'less',
'less_equal',
'logaddexp',
'meshgrid',
'not_equal',
'result_type',
'sign',
'square',
'uint16',
'uint32',
'uint64']

The following features are missing in the array itself (others are probably incomplete):

['__abs__',
 '__array_namespace__',
 '__dlpack__',
 '__dlpack_device__',
 '__iadd__',
 '__iand__',
 '__iflowdiv__',
 '__ilshift__',
 '__imatmul__',
 '__imod__',
 '__imul__',
 '__ior__',
 '__ipow__',
 '__irshift__',
 '__isub__',
 '__itruediv__',
 '__ixor__',
 '__rand__',
 '__rflowdiv__',
 '__rlshift__',
 '__rmatmul__',
 '__ror__',
 '__rrshift__',
 '__rxor__']
@ClaudiaComito
Copy link
Contributor

Thanks a lot for this list @fschlimb!

@ClaudiaComito
Copy link
Contributor

bitwise_invert, bitwise_left_shift and bitwise_right_shift are implemented as ht.invert, ht.left_shift and ht.right_shift following the NumPy API reference.

@Dhruv454000
Copy link
Contributor

Dhruv454000 commented Mar 23, 2022

hello @ClaudiaComito , I would like to work on this issue as a part of gsoc. It would be great If you could guide me how can I start. I am aware of numpy but not much aware of parallel computing.
I found project here:https://docs.google.com/document/d/1OKUf_n_whN0M20c__jj8R5jyGABPYYxmdBfyzto4OZk/edit

@neosunhan neosunhan mentioned this issue Sep 4, 2022
4 tasks
@ClaudiaComito ClaudiaComito added this to the Repo Clean-Up milestone Jul 31, 2023
@ClaudiaComito
Copy link
Contributor

This is still work-in-progress and being tracked in #1022.


Reviewed within #1109

@ClaudiaComito ClaudiaComito removed this from the Repo Clean-Up milestone Aug 21, 2023
@ClaudiaComito ClaudiaComito added array API and removed API Anything relating the API labels Aug 21, 2023
@ClaudiaComito
Copy link
Contributor

ClaudiaComito commented Aug 28, 2023

Check out data-apis/array-api#462 for tracking and potentially signalling array API compliance, although it doesn't look like the workflow is final.

@ClaudiaComito ClaudiaComito removed their assignment Oct 9, 2023
@ClaudiaComito
Copy link
Contributor

ClaudiaComito commented Jul 10, 2024

  • report compliance, how? option below
  • merge existing PR when CI runs without problems
  • mark namespace experimental
  • create Tracker Issue for missing ops

@ClaudiaComito
Copy link
Contributor

ClaudiaComito commented Jul 10, 2024

Re: how/whom to report compliance to, we could be contributing Heat JSON data to the array-api-comparison repository.

If I understand correctly, the JSON data are created when running the array-api-tests with the -json-report option, see example workflow here.

I managed to clone the repo and compile their tools, the result looks something like this:

Screenshot 2024-07-10 at 14 07 06

What do you think @mtar @mrfh92 ?

@mtar
Copy link
Collaborator

mtar commented Jul 16, 2024

That repository has nothing to do with compliance. It helps comparing the names of equivalent functions in existing libraries.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants