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

SENSEI: SoA Particle Support #3349

Merged
merged 16 commits into from
Jul 28, 2023
Merged

Conversation

ax3l
Copy link
Member

@ax3l ax3l commented Jun 6, 2023

Summary

Add support for pure SoA layouted particle containers for SENSEI.

Additional background

Follow-up to #2878.

Checklist

The proposed changes:

  • fix a bug or incorrect behavior in AMReX
  • add new capabilities to AMReX
  • changes answers in the test suite to more than roundoff level
  • are likely to significantly affect the results of downstream AMReX users
  • include documentation in the code and/or rst files, if appropriate

Add support for pure SoA layouted particle containers for SENSEI.
@ax3l
Copy link
Member Author

ax3l commented Jun 13, 2023

cc @c-wetterer-nelson @patrickoleary @burlen for the discussion we had today

@burlen
Copy link
Contributor

burlen commented Jun 13, 2023

amrex::ParticleDataAdaptor will also need to be updated.

Also, since all of our particle classes are templates, and there's no instantiations inside AMReX, the CI builds don't compile them, and any bugs won't be caught there.

I think we probably need to add regression tests that create an instance and exercise it.

We've been using the tutorials and various AMReX downstream codes for testing.

@ax3l
Copy link
Member Author

ax3l commented Jul 12, 2023

Thank you @atmyers 🎉

Cc @burlen ping for review

@c-wetterer-nelson
Copy link
Contributor

this looks great! +1

I do appreciate the new template<typename ParticleType, ... templating. Have all the science codes successfully adopted it yet?

@burlen
Copy link
Contributor

burlen commented Jul 13, 2023

I think our exposure to this change is limited to WarpX and the AMReX tutorials. @c-wetterer-nelson would you be able to try out the tutorial and see what if any changes are needed?

@atmyers atmyers changed the title [WIP] SENSEI: SoA Particle Support SENSEI: SoA Particle Support Jul 20, 2023
@atmyers
Copy link
Member

atmyers commented Jul 20, 2023

The CI test is compiling now - @burlen @c-wetterer-nelson do you think one of you could try this out on the tutorial?

@ax3l ax3l requested review from WeiqunZhang and atmyers July 24, 2023 02:01
@ax3l
Copy link
Member Author

ax3l commented Jul 24, 2023

Have all the science codes successfully adopted it yet?

@c-wetterer-nelson we update step-by-step and started with the BLAST codes: WarpX, ImpactX, HiPACE++.

This PR and #3350 are still on the way for the WarpX & ImpactX transition :)

@ax3l ax3l mentioned this pull request Jul 25, 2023
6 tasks
@ax3l ax3l removed the help wanted label Jul 27, 2023
@ax3l
Copy link
Member Author

ax3l commented Jul 28, 2023

This looks great, good to merge from my side! 🎉 Thank you @atmyers for all the work!
(Cannot approve since I opened it 😅)

@atmyers atmyers merged commit d9df80b into AMReX-Codes:development Jul 28, 2023
@ax3l ax3l deleted the topic-soa-sensei branch August 12, 2023 01:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants