Description
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) and xp.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)
is True
for devices that support float64, but should be False
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.
Metadata
Metadata
Assignees
Type
Projects
Status