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

Implement real-to-complex FFT #98

Merged
merged 4 commits into from
May 2, 2019
Merged

Implement real-to-complex FFT #98

merged 4 commits into from
May 2, 2019

Conversation

RemiLehe
Copy link
Member

@RemiLehe RemiLehe commented Apr 24, 2019

This replaces the complex-to-complex FFT by real-to-complex FFT.

The main change is that the spectral space now only contains the positive value of k along the first dimension, thereby reducing the corresponding box by 50%

Performance benefits

  • Reduces the memory required to store the fields in spectral space by about 50%.
  • The time spent in FFTs is reduced by about 50% (measured on CPU, without threading)

@RemiLehe RemiLehe added the component: spectral Spectral solvers (PSATD, IGF) label Apr 24, 2019
@RemiLehe RemiLehe changed the base branch from dev to master April 27, 2019 04:31
@RemiLehe RemiLehe changed the base branch from master to dev April 27, 2019 04:31
@RemiLehe RemiLehe changed the title [WIP] Implement real-to-complex FFT Implement real-to-complex FFT Apr 27, 2019
Copy link
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,
Some tests are still failing, do you happen to know why?

@RemiLehe
Copy link
Member Author

RemiLehe commented May 2, 2019

I resolved conflicts, but then probably made a mistake. I am looking into it.

@RemiLehe RemiLehe merged commit df73577 into dev May 2, 2019
@RemiLehe RemiLehe deleted the real_to_complex branch May 2, 2019 16:53
@RemiLehe RemiLehe mentioned this pull request May 2, 2019
12 tasks
atmyers pushed a commit to atmyers/WarpX that referenced this pull request Nov 9, 2021
* misc small changes

* renamed mepicmi to mespecies

* removed argument write_dir from checkpoint_diagnostic

* various misc changes

* build image

* build image

* improve readability of stdout file

* Apply suggestions from code review

Co-authored-by: Peter Scherpelz <31747262+peterscherpelz@users.noreply.github.com>

* Remove EOL white space

* Fix code suggestion indent and quotation

* build image

Co-authored-by: Peter Scherpelz <31747262+peterscherpelz@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: spectral Spectral solvers (PSATD, IGF)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants