-
Notifications
You must be signed in to change notification settings - Fork 4
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
Add ADIOS2 sample #14
Conversation
Created with PIConGPU / LaserWakefield simulation with parameters: mpirun -n 2 picongpu -s 550 -d 1 2 1 -g 56 56 28 --openPMD.period 50 --openPMD.file stream --openPMD.infix NULL --openPMD.ext bp --openPMD.json '{ "adios2": { "engine": { "usesteps": true, "type": "bp4", "parameters": { "InitialBufferSize": "2Gb", "Profile": "On" } }, "dataset": { "operators": [ ] } } } ' --versionOnce --checkpoint.backend openPMD --checkpoint.period 500 --checkpoint.restart --checkpoint.restart.backend openPMD
More blocks is a good idea! You can also make the PIConGPU supercell ( |
Alright, will try that. (I could theoretically use openpmd-pipe to cut the chunks smaller, but I think it's better to use openPMD 0.12.0, so I'll try running it more in parallel first.)
Done |
Also, ADIOS2 uses aggregation per node, so every block will be on |
Since we want to use this for read tests, I would say disable node-aggregation so we have more meta-data that we can test |
Done a further run with parameters: mpirun --oversubscribe -n 16 picongpu -s 550 -d 2 4 2 -g 56 56 28 --openPMD.period 50 --openPMD.file stream --openPMD.infix NULL --openPMD.ext bp --openPMD.json '{ "adios2": { "engine": { "usesteps": true, "type": "bp4", "parameters": { "AggregatorRatio": "1", "InitialBufferSize": "2Gb", "Profile": "On" } }, "dataset": { "operators": [ ] } } } ' --versionOnce --checkpoint.backend openPMD --checkpoint.period 500 --checkpoint.restart.backend openPMD --openPMD.dataPreparationStrategy hdf5 --checkpoint.openPMD.dataPreparationStrategy hdf5 --checkpoint.restart tldr: disable node aggregation, use 16 parallel writers in a 2x4x2 domain decomposition
Commit will follow in a minute. |
Also deactivate node aggregation
This is cool, awesome! The simulation box size is a bit narrow and thus the LWFA sim looks a bit adventurous (not really an LWFA anymore), but the data is good enough and super nice in size for testing! (We can just rename it here to avoid confusion to Optional for merge here, but general comment for PIConGPU: I think the |
I thought a bit more about a name that tells what's inside (format and dimension wise), e.g. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for adding this :)
@franzpoeschel I found a bug in this data set that we need to fix and replace.
They should read:
just like the non-constant particle record lengths. |
The bug in PIConGPU is here: https://github.com/ComputationalRadiationPhysics/picongpu/pull/3389/files#r663311000 |
Good catch! I think we should get back to this once the bug is fixed in PIConGPU? |
Bug fixed in PIConGPU via ComputationalRadiationPhysics/picongpu#3678 🎉 Yes, ready now to replace :) |
I'm currently working on new schemas for ADIOS2, so we should add tests to verify that we keep backwards compatibility.
Created with PIConGPU / LaserWakefield simulation, openPMD API 0.12.0 and ADIOS 2.7.0 with parameters:
mpirun -n 2 picongpu -s 550 -d 1 2 1 -g 56 56 28 --openPMD.period 50 --openPMD.file stream --openPMD.infix NULL --openPMD.ext bp --openPMD.json '{ "adios2": { "engine":{ "usesteps": true, "type": "bp4", "parameters": { "InitialBufferSize": "2Gb", "Profile": "On" } }, "dataset": { "operators": [] } } } ' --versionOnce --checkpoint.backend openPMD --checkpoint.period 500 --checkpoint.restart --checkpoint.restart.backend openPMD
This is purposefully executed with two parallel instances in order to create datasets that are composed from multiple blocks. Output of
bpls -D
:Todo: