{"id":27198,"library":"onemkl-sycl-dft","title":"Intel oneMKL SYCL DFT","description":"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.","status":"active","version":"2026.0.0","language":"python","source_language":"en","source_url":"https://github.com/oneapi-src/oneMKL","tags":["intel","oneapi","mkl","dft","sycl","gpu","fft"],"install":[{"cmd":"pip install onemkl-sycl-dft","lang":"bash","label":"PyPI"},{"cmd":"pip install dpctl dpnp onemkl-sycl-dft","lang":"bash","label":"Full install with dependencies"}],"dependencies":[{"reason":"SYCL device runtime and queue management","package":"dpctl","optional":false},{"reason":"NumPy-compatible array library for SYCL","package":"dpnp","optional":true}],"imports":[{"note":"The library's Python wrapper is part of the psydac package, not directly importable as onemkl_sycl_dft.","wrong":"from onemkl_sycl_dft import DFT","symbol":"DFT","correct":"from psydac.dft import DFT"}],"quickstart":{"code":"import dpctl\nimport dpnp as np\nfrom psydac.dft import DFT\n\ndevice = dpctl.SyclDevice()\nqueue = dpctl.SyclQueue(device)\n\ndata = np.array([1.0, 2.0, 3.0, 4.0], dtype=np.complex64)\ndft_handle = DFT(queue, data.shape, np.complex64)\ndft_handle.forward(data)\nprint(data)\n","lang":"python","description":"Create a SYCL queue, allocate data on device via dpnp, and run a forward FFT."},"warnings":[{"fix":"Use 'from psydac.dft import DFT' instead of 'from onemkl_sycl_dft import DFT'.","message":"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.","severity":"breaking","affected_versions":"<=2025.0.0"},{"fix":"Always convert NumPy arrays to dpnp arrays via dpnp.array(numpy_array) before passing to DFT.","message":"The DFT class expects data to be a dpnp.ndarray (device memory). Passing a NumPy array will cause silent errors or crashes.","severity":"gotcha","affected_versions":"all"},{"fix":"Use 'np.dtype(np.complex64)' or 'np.complex64' (dpnp alias).","message":"The 'dpnp.complex64' type may be deprecated in future; use 'np.dtype(np.complex64)' for clarity.","severity":"deprecated","affected_versions":">=2025.5.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Install psydac: pip install psydac","cause":"The DFT Python bindings are part of the psydac package, not installed by default with onemkl-sycl-dft.","error":"ModuleNotFoundError: No module named 'psydac'"},{"fix":"Ensure you pass a valid SyclQueue: queue = dpctl.SyclQueue()","cause":"DFT constructor requires a dpctl.SyclQueue as first argument.","error":"RuntimeError: sycl::queue not provided or invalid"},{"fix":"Convert data to dpnp: data = dpnp.array(numpy_data)","cause":"DFT expects dpnp.ndarray, not numpy.ndarray.","error":"ValueError: Input array is not device-allocated"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}