-
Notifications
You must be signed in to change notification settings - Fork 50
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
Device-specific type promotion rules #672
Comments
@oleksandr-pavlyk thanks for this proposal. The use case is clear to me, and it seems like we should support it. I am wondering though if it isn't already supported. Here are the input parameter descriptions:
If you pass in an array rather than a dtype, it has to already have device info attached to it. So I'd expect |
@rgommers Yes, if |
@oleksandr-pavlyk Circling back here. Did you have further thoughts you'd like to share here or on the linked PR? |
The issue was again discussed at a meeting, and it was decided that adding The way to query device specific type promotion graph is to use array objects instead of dtype objects. Perhaps a note in the specification for these functions may be added requiring implementations to do that, and noting that output of |
For devices that have different capabilities (support for float64/float16 may or may not be present),
the type promotion graph adopted by array-API must be different.
Functions
xp.can_cast
(ref) andxp.result_type
(ref) allow for signatures where all inputs are data types.For such inputs the device information is not available, but
xp.can_cast(xp.float32, xp.float64)
isTrue
for devices that support float64, but should beFalse
to devices that do not.The only variability in data type support across devices, per SYCL spec, exists for 'float64' and 'float16'. In SYCL these capabilities are queries via device aspects. This is only relevant since standardization in SYCL gives us confidence that every other data-type is going to be supported.
So I would like to open for discussion the following proposal
xp.can_cast
andxp_result_type
need to acquiredevice
keyword support with default value ofNone
to mean that device capabilities are determined from argument arrays, if present, and or from capabilities of the default device otherwise.Alternative name for the keyword is acceptable too, as long it can used to convey device capabilities.
The text was updated successfully, but these errors were encountered: