Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add DFT support #27

Closed
fboemer opened this issue Jun 30, 2020 · 13 comments · Fixed by #330
Closed

Add DFT support #27

fboemer opened this issue Jun 30, 2020 · 13 comments · Fixed by #330
Labels
accepted The issue/feature is confirmed and going to be implemented API A request to add/change/fix/improve the API

Comments

@fboemer
Copy link

fboemer commented Jun 30, 2020

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.

@jasukhar
Copy link
Contributor

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?

@jasukhar jasukhar added accepted The issue/feature is confirmed and going to be implemented API A request to add/change/fix/improve the API labels Jun 30, 2020
@mipac
Copy link

mipac commented Feb 19, 2022

is plan to add a cuda cufft backend to be able to run oneMkl code to nvidia gpu?

@AerialMantis
Copy link

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.

@lhuot
Copy link
Contributor

lhuot commented Feb 23, 2022

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!

@mipac
Copy link

mipac commented Mar 2, 2022

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

@mgrabban
Copy link

mgrabban commented Apr 5, 2022

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 :-)

@lhuot
Copy link
Contributor

lhuot commented Apr 5, 2022

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.

@al42and
Copy link

al42and commented Nov 14, 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?

@lhuot
Copy link
Contributor

lhuot commented Nov 14, 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?

DFT support with x86 CPU and Intel GPU backend is currently in progress and will probably arrive during Q1 2023.

@al42and
Copy link

al42and commented Mar 12, 2023

I see that Intel GPU backend (based on Intel oneAPI) has been merged, and cuFFT is coming 👍

May I ask about your next plans? rocFFT, VkFFT, dbFFT?

@mgrabban
Copy link

I see that Intel GPU backend (based on Intel oneAPI) has been merged, and cuFFT is coming 👍

May I ask about your next plans? rocFFT, VkFFT, dbFFT?

I vote for VkFFT; it seems quite popular.

@lhuot
Copy link
Contributor

lhuot commented Mar 14, 2023

As of today, there is no plan for the VkFFT and BBFFT libraries.
rocFFT support is planned to be enabled during 2023.

@lhuot
Copy link
Contributor

lhuot commented Jun 26, 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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accepted The issue/feature is confirmed and going to be implemented API A request to add/change/fix/improve the API
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants