Repository navigation
Move the hipFFT Xt API to hipfort_hipfftxt - #638
Merged
Merged
Conversation
CUDA Fortran has a cufft module and a cufftXt module, which includes cufft and holds the Xt and cuFFTMp interfaces. hipfort now mirrors it, so that hipified code maps `use cufftXt` to a module of its own: - hipfort_hipfft and hipfort_hipfft_enums hold the hipfft.h API, without the hipfftXt* and hipfftMp* functions; hipfort_hipfft_types goes away, as hipfft.h binds no type. - hipfort_hipfftxt holds every hipfftXt* and hipfftMp* function, including hipfftXtSetWorkArea (declared in hipfft.h, as cufftXtSetWorkArea is in cufftXt), with hipfort_hipfftxt_enums and hipfort_hipfftxt_types. It uses hipfort_hipfft, so `use hipfort_hipfftxt` alone gives the whole hipFFT API. The Xt API is not released yet (#611), so nothing breaks. The modules are regenerated with the generator's new [library] uses, function_prefixes and skip_function_prefixes keys. A hipfftxt CMake component, linked to hipFFT, holds the Xt tests and the symbol test, and the supported-API table, the hipFFT examples and the changelog follow.
Security scan found no critical or high findings on lines changed by this pull requestView the security scan run for complete reports. “New” means the finding is located in a changed file on an added or modified line; it is not a base-versus-head findings delta. |
They bind their cufftXt* counterparts; only the multi-process routines have none.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CUDA Fortran (NVIDIA HPC SDK) has two modules,
cufftandcufftXt:cufftXtincludescufftand holds the Xt and cuFFTMp interfaces. hipFORT now mirrors it, so that hipified code mapsuse cufftXttouse hipfort_hipfftxt. The rule is by name: everyhipfftXt*andhipfftMp*function goes tohipfort_hipfftxt, includinghipfftXtSetWorkArea(declared inhipfft.h, ascufftXtSetWorkAreais incufftXt), and every otherhipfft*function stays inhipfort_hipfft.The Xt API came with #611 and is not released yet, so this breaks nobody.
hipfort_hipfft,hipfort_hipfft_enumshipfft.hAPI, without thehipfftXt*/hipfftMp*functionshipfort_hipfftxthipfftXt*andhipfftMp*function; it useshipfort_hipfft, souse hipfort_hipfftxtalone gives the whole hipFFT APIhipfort_hipfftxt_enumsHIPFFT_XT_FORMAT_*,HIPFFT_COPY_*,HIPFFT_CB_*,HIPLIB_FORMAT_*,HIPFFT_COMM_*,MAX_HIP_DESCRIPTOR_GPUS)hipfort_hipfftxt_typeshipXtDesc,hipLibXtDeschipfort_hipfft_types(from #611) goes away:hipfft.hbinds no type. The hipfftw modules are unchanged.