This release features the addition of new function tensor.isin, indexing of tensor.usm_ndarray with numpy.ndarray, and support for building dpctl for specific CUDA architectures.
Improvements were also made to the build time and binary size of the project, and to the build driver script, making it more convenient when building for CUDA or AMD devices.
Added
- Added
tensor.isinper future Python Array API specification version gh-2098 numpy.ndarraysare now permitted when indexing ontensor.usm_ndarraygh-2128
Changed
- Made a number of constexpr variables inline or static throughout the project, especially in headers, to reduce binary size and improve build time gh-2094, gh-2107
DPCTL_TARGET_CUDAandDPCTL_TARGET_HIPnow permit specifying the CUDA or HIP architectures gh-2096, gh-2099- Extended
build_locally.pybuild driver script to permit--target-cudaand--target-hipoptions, which match the behavior ofDPCTL_TARGET_CUDAandDPCTL_TARGET_HIPgh-2109 - Improved
tensor.asnumpyandtensor.to_numpyfor size-0 arrays gh-2120 - Permit type casting size-0
tensor.usm_ndarrayto arbitrary dtype viatensor.usm_ndarrayconstructor'sbufferkeyword (i.e., using the original memory as the buffer for the new size-0 array's underlying memory) gh-2123
Fixed
- Fixed
tensor.asarrayfailing when givendevicekeyword with an input array of a dtype not supported bydevicegh-2097 - Fixes undefined behavior in radix sort algorithm and avoids call to sorting algorithms when calling
tensor.sortandtensor.argsorton size-1 arrays, or along a size-1 axis gh-2106 - Fixed incorrect results when calling
dpt.astypeontensor.usm_ndarrayconstructed from a boolean view into anumpy.ndarraygh-2122 - Fixed
dpctlimported in virtual environment on Windows failing to see devices or find DLLs gh-2130 - Fixed Cythonization failure when testing the ability to create
dpctlCython API extensions with an editable install gh-2147
Maintenance
- Revert restricting Cython to below 3.1.0 when building dpctl for Python 3.13 gh-2118
- Add a link to
tensor.DLDeviceTypedocumentation from__dlpack_device__docstring gh-2127 - Update pybind11 to 3.0.1 gh-2145
- Miscellaneous changes to continuous integration/delivery (CI/CD) supporting scripts gh-2043, gh-2044, gh-2065, gh-2066, gh-2068, gh-2070 gh-2088, gh-2104, gh-2151, gh-2154, gh-2155