Intel oneMKL SYCL DFT
raw JSON → 2026.0.0 verified Fri May 01 auth: no python
Intel® oneAPI Math Kernel Library (oneMKL) DFT component for SYCL. This package provides Discrete Fourier Transform (DFT) routines optimized for Intel GPUs and CPUs via SYCL. Version 2026.0.0 is the latest. Release cadence is quarterly.
pip install onemkl-sycl-dft Common errors
error ModuleNotFoundError: No module named 'psydac' ↓
cause The DFT Python bindings are part of the psydac package, not installed by default with onemkl-sycl-dft.
fix
Install psydac: pip install psydac
error RuntimeError: sycl::queue not provided or invalid ↓
cause DFT constructor requires a dpctl.SyclQueue as first argument.
fix
Ensure you pass a valid SyclQueue: queue = dpctl.SyclQueue()
error ValueError: Input array is not device-allocated ↓
cause DFT expects dpnp.ndarray, not numpy.ndarray.
fix
Convert data to dpnp: data = dpnp.array(numpy_data)
Warnings
breaking The Python API for DFT was restructured. In 2026.0.0, the DFT class is in psydac.dft, not onemkl_sycl_dft. Old imports will fail. ↓
fix Use 'from psydac.dft import DFT' instead of 'from onemkl_sycl_dft import DFT'.
gotcha The DFT class expects data to be a dpnp.ndarray (device memory). Passing a NumPy array will cause silent errors or crashes. ↓
fix Always convert NumPy arrays to dpnp arrays via dpnp.array(numpy_array) before passing to DFT.
deprecated The 'dpnp.complex64' type may be deprecated in future; use 'np.dtype(np.complex64)' for clarity. ↓
fix Use 'np.dtype(np.complex64)' or 'np.complex64' (dpnp alias).
Install
pip install dpctl dpnp onemkl-sycl-dft Imports
- DFT wrong
from onemkl_sycl_dft import DFTcorrectfrom psydac.dft import DFT
Quickstart
import dpctl
import dpnp as np
from psydac.dft import DFT
device = dpctl.SyclDevice()
queue = dpctl.SyclQueue(device)
data = np.array([1.0, 2.0, 3.0, 4.0], dtype=np.complex64)
dft_handle = DFT(queue, data.shape, np.complex64)
dft_handle.forward(data)
print(data)