oneMKL icon indicating copy to clipboard operation
oneMKL copied to clipboard

Add DFT support

Open fboemer opened this issue 4 years ago • 7 comments

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.

fboemer avatar Jun 30 '20 16:06 fboemer

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 avatar Jun 30 '20 16:06 jasukhar

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

mipac avatar Feb 19 '22 17:02 mipac

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.

AerialMantis avatar Feb 22 '22 11:02 AerialMantis

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!

lhuot avatar Feb 23 '22 12:02 lhuot

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

mipac avatar Mar 02 '22 06:03 mipac

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

mgrabban avatar Apr 05 '22 01:04 mgrabban

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.

lhuot avatar Apr 05 '22 07:04 lhuot

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?

al42and avatar Nov 14 '22 18:11 al42and

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.

lhuot avatar Nov 14 '22 19:11 lhuot

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

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

al42and avatar Mar 12 '23 22:03 al42and

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.

mgrabban avatar Mar 13 '23 00:03 mgrabban

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

lhuot avatar Mar 14 '23 09:03 lhuot

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

lhuot avatar Jun 26 '23 09:06 lhuot