Skip to content

Use DST-2 DST-3 in FFTW Poisson solver#1331

Merged
MaxThevenet merged 6 commits into
Hi-PACE:developmentfrom
AlexanderSinn:Use_DST_2_DST_3_in_FFTW_Poisson_solver
Mar 27, 2026
Merged

Use DST-2 DST-3 in FFTW Poisson solver#1331
MaxThevenet merged 6 commits into
Hi-PACE:developmentfrom
AlexanderSinn:Use_DST_2_DST_3_in_FFTW_Poisson_solver

Conversation

@AlexanderSinn
Copy link
Copy Markdown
Member

@AlexanderSinn AlexanderSinn commented Dec 22, 2025

This PR adds the DST-2 / DST-3 Poisson solver from #1305 to the FFTW backend and direct Poisson solver. FFTW already provides the needed DSTs.

Like on GPU, the Poisson solver is chose automatically based on if the grid has an even or odd resolution.

I tested the new Poisson solver with MR on CPU and the boundary is indeed set correctly.

image
  • Small enough (< few 100s of lines), otherwise it should probably be split into smaller PRs
  • Tested (describe the tests in the PR description)
  • Runs on GPU (basic: the code compiles and run well with the new module)
  • Contains an automated test (checksum and/or comparison with theory)
  • Documented: all elements (classes and their members, functions, namespaces, etc.) are documented
  • Constified (All that can be const is const)
  • Code is clean (no unwanted comments, )
  • Style and code conventions are respected at the bottom of https://github.com/Hi-PACE/hipace
  • Proper label and GitHub project, if applicable

@AlexanderSinn AlexanderSinn added the performance optimization, benchmark, profiling, etc. label Mar 25, 2026
Copy link
Copy Markdown
Member

@MaxThevenet MaxThevenet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this PR!

@MaxThevenet MaxThevenet merged commit ceb8c11 into Hi-PACE:development Mar 27, 2026
11 checks passed
@AlexanderSinn AlexanderSinn deleted the Use_DST_2_DST_3_in_FFTW_Poisson_solver branch April 8, 2026 10:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

performance optimization, benchmark, profiling, etc.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants