Skip to content

FFTW Adapter #9

Merged
constracktor merged 4 commits intoconstracktor:mainfrom
Iridium-t:adapter
Dec 22, 2025
Merged

FFTW Adapter #9
constracktor merged 4 commits intoconstracktor:mainfrom
Iridium-t:adapter

Conversation

@Iridium-t
Copy link
Contributor

Added a FFTW adapter to the project, to relocate the calls of FFTW to 1 instance.

  • fftw3.h is now only imported by the adapter file
  • a own struct was added for each a r2c and a c2c fft
  • each HPXFFT module now has a struct for each r2c and c2c fft, which includes the plan and the execution call of the fft
  • destroying and cleanup of the fftw_plans is also handled by the structs and their destructors
  • the initialize functions of each module now do not take a fftw_plan anymore, but only a string. The options are:
  1. estimate
  2. measure
  3. patient
  4. exhaustive

the string then gets cast internally to the according fftw_plan

changing direction of the c2c fft from forwards to backwards is technically possible with the adapter, but isn't currrently needed, since the modules themselve are setting the direction to forward.

each module now only includes the adapter and not the whole fftw3.h anymore
…dapter

the initialize functions of each module now take a string for the planflag, that gets casted internally to a fftw plan flag
@constracktor constracktor merged commit 3e8195b into constracktor:main Dec 22, 2025
2 checks passed
Iridium-t added a commit to Iridium-t/HPX-FFT that referenced this pull request Jan 31, 2026
* Revert to older versions for CI (constracktor#8)

* Revert to spack v0.23

* Revert to HPX 1.10

* FFTW Adapter  (constracktor#9)

* added fftw adapter

* added the adapter to the core files of the project

each module now only includes the adapter and not the whole fftw3.h anymore

* modified tests and examples to match new implementation of the fftw adapter

the initialize functions of each module now take a string for the planflag, that gets casted internally to a fftw plan flag

* Structure and naming changes

---------

Co-authored-by: constracktor

---------

Co-authored-by: Alexander Strack <74077030+constracktor@users.noreply.github.com>
Iridium-t added a commit to Iridium-t/HPX-FFT that referenced this pull request Jan 31, 2026
* Revert to older versions for CI (constracktor#8)

* Revert to spack v0.23

* Revert to HPX 1.10

* FFTW Adapter  (constracktor#9)

* added fftw adapter

* added the adapter to the core files of the project

each module now only includes the adapter and not the whole fftw3.h anymore

* modified tests and examples to match new implementation of the fftw adapter

the initialize functions of each module now take a string for the planflag, that gets casted internally to a fftw plan flag

* Structure and naming changes

---------

Co-authored-by: constracktor

---------

Co-authored-by: Alexander Strack <74077030+constracktor@users.noreply.github.com>
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.

2 participants