-
Notifications
You must be signed in to change notification settings - Fork 195
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
AMReX: Conduit with SoA Particles Broken #5087
Comments
Oh no, thanks for reporting @nicolemarsaglia! Earlier this year, we transitioned the old data structure layout of AMReX in WarpX from a mix of AoS + SoA to be purely SoA now. I am pretty sure that must have broken it. Here are the PRs:
Do those look correct to you? |
Do you think the specific line that fails on n_coords["values/x"].set_external(const_cast<ParticleReal*>(&soa.GetRealData(0)[0]),
num_particles); needs a guard for zero particles on an MPI rank? That can definitely happen and accessing |
I think there is another issue there further down the code: We now have a 64bit You need to use |
## Summary Fix the SoA particle structures for Conduit. Handle zero particles on MPI ranks without UB. - [ ] @nicolemarsaglia can you test this? 🙏 ## Additional background Fix #4062 ECP-WarpX/WarpX#5087 cc @cyrush @ChristosT @c-wetterer-nelson ## Checklist The proposed changes: - [x] 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
Fixed via AMReX-Codes/amrex#4065. This will come in after the WarpX 24.08 release (which depends on AMReX 24.08, which is already tagged), via the next weekly AMReX update. |
I'm attempting to run WarpX + Ascent on LC's Lassen and I am getting a segfault when trying to convert to blueprint data.
I have Ascent built on Lassen using a script similar to this one: https://github.com/Alpine-DAV/ascent/blob/develop/scripts/build_ascent/build_ascent_cuda_lassen.sh , but updated to use the modules from the WarpX instructions here: https://warpx.readthedocs.io/en/latest/install/hpc/lassen.html
I've attached my Backtrace from the single node run, as well as my inputs, cmake script, and ascent_actions files.
I was able to track it down somewhat, the issue is happening here: https://github.com/AMReX-Codes/amrex/blob/6975ae0ed5ca51ec95268f323bdc705dab4fe571/Src/Extern/Conduit/AMReX_Conduit_Blueprint_ParticlesI.H#L72
Potentially an empty soa? But I'm not familiar enough with the code and data structures to debug this quickly, so I am reaching out for any help I can get. Let me know if there is any other information I can provide, thanks so much!
Backtrace.txt
inputs.txt
build_warpx.txt
ascent_actions.txt
The text was updated successfully, but these errors were encountered: