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

Radiation plugin: Fix checkpointing #4401

Conversation

franzpoeschel
Copy link
Contributor

Follow-up to #4387
Fix #4397

@PrometheusPi
Copy link
Member

There seems to have been a crash in the CI with some clang compiler - I restarted it.

@psychocoderHPC psychocoderHPC added the bug a bug in the project's code label Dec 19, 2022
@psychocoderHPC
Copy link
Member

@franzpoeschel Are checkpoints with your fix always written as one file per checkpoint? This is a strong requirement for picongpu. Standard IO can be optionally in one file with a time series.

@franzpoeschel
Copy link
Contributor Author

franzpoeschel commented Dec 19, 2022

@psychocoderHPC yes, they are. With this fix, I don't even keep the Series open for checkpointing.
EDIT: Wait before merging, I'll actually have to check if I kept the filename the same for checkpoints

* No need to keep the Series open for checkpointing, so
* just quickly open it here.
*/
std::optional<::openPMD::Series> tmp;
Copy link
Contributor Author

Choose a reason for hiding this comment

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

See here @psychocoderHPC
This is the Series for checkpointing, just quickly opened here and then closed again

@franzpoeschel
Copy link
Contributor Author

It's good that you asked René. The parameter --radiation.openPMDSuffix is read by both the checkpointing and regular output routines, while it should only be read by regular output. Will have to fix.

@franzpoeschel
Copy link
Contributor Author

Alright, these are now the new parameters:

  --e_radiation.openPMDSuffix arg (=_%T_0_0_0.h5)
                                        Suffix for openPMD filename extension 
                                        and iteration expansion pattern.
  --e_radiation.openPMDCheckpointExtension arg (=h5)
                                        Filename extension for openPMD 
                                        checkpoints.
  --e_radiation.openPMDConfig arg (={}) JSON/TOML configuration for 
                                        initializing openPMD.
  --e_radiation.openPMDCheckpointConfig arg (={})
                                        JSON/TOML configuration for 
                                        initializing openPMD checkpointing.

No --restartConfig parameter for now, since noone will use it anyway.

Copy link
Member

@PrometheusPi PrometheusPi left a comment

Choose a reason for hiding this comment

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

Tested in - all files are created

@PrometheusPi PrometheusPi merged commit 036c682 into ComputationalRadiationPhysics:dev Dec 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug a bug in the project's code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants