Skip to content
This repository has been archived by the owner on May 27, 2024. It is now read-only.

Add RFC for rocFFT OpenCL support #2

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions text/0000-rocFFT-OpenCL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
- Feature Name: rocFFT OpenCL support
- Start Date: 2018-05-15
- RFC PR: (leave this empty)
- ROCm Issue: (leave this empty)

# Summary
[summary]: #summary

To support the OpenCL community, the rocFFT library should provide
means for it to be used in OpenCL projects.

# Motivation
[motivation]: #motivation

FFTs are often used components in scientific and engineering computing
and therefore there is a broad set of use-cases where computing FFTs on
ROCm platforms would be of great benefit (e.g. GROMACS, OpenMM / Folding@HOME, etc.)

# Detailed design
[design]: #detailed-design

* Short-term solution: use `clCreateProgramWithBinary` to load precompiled FFT kernels;
* Longer-term more complete solution: implemet the `rocfft.h` API for OpenCL;
* Device-side callable 1D FFT kernels would also be very valuable to be
developed for release when the required OpenCL support also lands in a future ROCm
stack release.

# Drawbacks
[drawbacks]: #drawbacks

Effort may be better invested in clFFT and its compatibility with the ROCm toolchain
as well as early high quality and high performance support for recent AMD hardware.

# Alternatives
[alternatives]: #alternatives

Other designs: -
Impact of reject: No high performance FFT will be available for portable GPU applications on AMD GPUs.

# Unresolved questions
[unresolved]: #unresolved-questions

The detailed design is really up to the rocFFT and OpenCL runtime's dev.