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

Added ARM FFT Support #576

Merged
merged 1 commit into from
Mar 12, 2024
Merged

Added ARM FFT Support #576

merged 1 commit into from
Mar 12, 2024

Conversation

cliffburdick
Copy link
Collaborator

@cliffburdick cliffburdick commented Feb 10, 2024

This PR adds initial support for FFTs on ARM using NVPL. NVPL follows the FFTW interface, which prevents a few features cuFFT has. Most notable half-precision support is missing and FFTW requires the data pointer to be part of the plan. This makes caching somewhat pointless since the same size FFT with different pointers cannot reuse a plan.

Included in the PR is full unit test coverage for all FFT tests that had fp32/fp64 support. Once the NVPL API evolves to possible allow plans without pointers we can rewrite this to use the cuFFT method of having plans based on 1D/2D classes.

You may also notice a seemingly unrelated change in conv2d. This is an nvcc compiler bug that only affects ARM. This change will be reverted once the compiler bug is addressed

This commit also moves all unit tests to the tuple format so we can switch executors per test quickly.

@cliffburdick
Copy link
Collaborator Author

/blossom-ci

@cliffburdick cliffburdick force-pushed the nvpl_fft branch 2 times, most recently from efd570b to 5b059f2 Compare February 10, 2024 02:45
@cliffburdick
Copy link
Collaborator Author

/blossom-ci

@cliffburdick cliffburdick force-pushed the nvpl_fft branch 3 times, most recently from 5f7628c to b73be7d Compare February 10, 2024 02:56
@cliffburdick
Copy link
Collaborator Author

/blossom-ci

1 similar comment
@cliffburdick
Copy link
Collaborator Author

/blossom-ci

@cliffburdick
Copy link
Collaborator Author

/blossom-ci

@cliffburdick
Copy link
Collaborator Author

/blossom-ci

@cliffburdick cliffburdick force-pushed the nvpl_fft branch 3 times, most recently from 4f4495e to 8996029 Compare March 11, 2024 03:31
@cliffburdick
Copy link
Collaborator Author

/blossom-ci

@cliffburdick
Copy link
Collaborator Author

/blossom-ci

@cliffburdick
Copy link
Collaborator Author

/blossom-ci

Switched all unit tests to use tuple with executor and type
@cliffburdick
Copy link
Collaborator Author

/blossom-ci

@cliffburdick cliffburdick merged commit ad4009d into main Mar 12, 2024
1 check passed
@cliffburdick cliffburdick deleted the nvpl_fft branch March 12, 2024 15:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants