oneMKL
oneMKL copied to clipboard
Add DFT support
Summary
Add support for discrete Fourier transform.
Problem statement
The onemkl api shows the API for the DFT. However, I'm unable to find the necessary mkl_dfti_sycl.hpp
referenced there.
Preferred solution
An example of using onemkl with DFT.
Hi @fboemer! oneMKL open source has only BLAS support at this moment. oneMKL open source follows oneMKL spec, but it can lagging behind the spec. We plan to enable FFT in open source in the future. If you are interested in example at this point, you can check Intel oneMKL binary implementation for CPU and GPU. Are you interested in any specific HW support?
is plan to add a cuda cufft backend to be able to run oneMkl code to nvidia gpu?
We would be interested in having FFT support for Nvidia GPUs in oneMKL. Once this is supported in the open source oneMKL we could look into introducing support for this via a cuFFT backend, however, we have no immediate plans for this at the moment.
Hi @mipac and @AerialMantis, The Intel MKL team is still planning on enabling DFT DPC++ APIs in the oneMKL Interface Open Source project, with focus on Intel GPU and x86 CPU backends first. Once this is done if you'd like to enable the NVIDA GPU backend via the cuFFT library that would be great!
thanks for your replies, I have a project planned using fft with gpu I’d like to prototype critical signal path with « one source » paradigm It seems impossible for now to do it in real use case, but I hope that intel will continue this way
Hello, I am interested in DFT in the DPC++ open source project. Currently I am in the process of porting a CUDA repo called tsnecuda into DPC++ and one of my goals is to compare CUDA version and DPC++ open source version running on NVIDIA A100 GPUs. (I have already got the DPC++ on Intel GPU version working but the DFTs are very slow - creating a DFT plan takes 5-10 sec while running the DFT itself takes 3 ms! Both these times are on the order of a ms in CUDA (cufft)). So it will very helpful if you could prioritize this :-)
Hello, I am interested in DFT in the DPC++ open source project. Currently I am in the process of porting a CUDA repo called tsnecuda into DPC++ and one of my goals is to compare CUDA version and DPC++ open source version running on NVIDIA A100 GPUs. (I have already got the DPC++ on Intel GPU version working but the DFTs are very slow - creating a DFT plan takes 5-10 sec while running the DFT itself takes 3 ms! Both these times are on the order of a ms in CUDA (cufft)). So it will very helpful if you could prioritize this :-)
Hi, we are working on reducing the cost to create the DFT plan for DPC++ API on Intel GPU. Regarding CUDA support in the oneMKL Interface, as mentioned previously it is part of our plan for 2022.
Regarding CUDA support in the oneMKL Interface, as mentioned previously it is part of our plan for 2022.
Do you know whether it is still expected to be done in 2022, or has it been postponed?
Regarding CUDA support in the oneMKL Interface, as mentioned previously it is part of our plan for 2022.
Do you know whether it is still expected to be done in 2022, or has it been postponed?
DFT support with x86 CPU and Intel GPU backend is currently in progress and will probably arrive during Q1 2023.
I see that Intel GPU backend (based on Intel oneAPI) has been merged, and cuFFT is coming :+1:
I see that Intel GPU backend (based on Intel oneAPI) has been merged, and cuFFT is coming 👍
I vote for VkFFT; it seems quite popular.
As of today, there is no plan for the VkFFT and BBFFT libraries. rocFFT support is planned to be enabled during 2023.
DFT SYCL APIs are now available with various backends (x86 CPU with Intel oneMKL, Intel GPU with Intel oneMKL, Nvidia GPU with cuFFT and AMD GPU with support rocFFT).