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

Added support to use adios2's flatten_step #5634

Merged
merged 13 commits into from
Mar 3, 2025

Conversation

guj
Copy link
Contributor

@guj guj commented Feb 3, 2025

New Opt-In Feature for BTD

To enable it, put it in the openPMD option through input file:
e.g.

diag1.openpmd_backend = bp5
diag1.adios2_engine.parameters.FlattenSteps = on

This feature is useful for BTD use case. Data can be flushed after each buffered writes of a snapshot

To check weather this feature is in use, try "bpls -V your_bp_file_name"

Note: we still debug performance regressions in writing when FlattenSteps is used. This will be addressed in follow-up updates to ADIOS2/openPMD-api.

Bug Fix

Also fixes openPMD/openPMD-api#1655 for BP5 with file-based encoding, i.e., when some ranks have no particles to contribute to a step.

To enable it, put it in the openPMD option through input file.
@ax3l ax3l self-requested a review February 3, 2025 23:38
@ax3l ax3l self-assigned this Feb 3, 2025
Copy link
Member

@lucafedeli88 lucafedeli88 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, @guj !
I've left few comments, mainly to make clang-tidy and CodeQL happy.

guj and others added 5 commits February 5, 2025 09:53
Added braces for the if/else loop via Luca Fedeli

Co-authored-by: Luca Fedeli <luca.fedeli.88@gmail.com>
added  const to bool variable via Luca Fedeli

Co-authored-by: Luca Fedeli <luca.fedeli.88@gmail.com>
eliminate extra space

Co-authored-by: Luca Fedeli <luca.fedeli.88@gmail.com>
remove commented line via Luca Fedeli

Co-authored-by: Luca Fedeli <luca.fedeli.88@gmail.com>
Remove commented line via Luca Fedeli

Co-authored-by: Luca Fedeli <luca.fedeli.88@gmail.com>
Copy link
Member

@lucafedeli88 lucafedeli88 left a comment

Choose a reason for hiding this comment

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

Thanks again, @guj , for your PR.
I've added few more comments. I'll let @ax3l comment on the ADIOS2 option that you are adding.

guj and others added 2 commits February 6, 2025 09:55
typo spotted by Luca Fedeli

Co-authored-by: Luca Fedeli <luca.fedeli.88@gmail.com>
Copy link
Member

@ax3l ax3l left a comment

Choose a reason for hiding this comment

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

Formatting & Inline Comments

ax3l added 2 commits March 3, 2025 11:25
`buffer` target would not work in BTD if not used with `flattenSteps`:
final flush would be missing at the end of the current snapshot write
to the stations.
@ax3l ax3l added bug Something isn't working bug: affects latest release Bug also exists in latest release version labels Mar 3, 2025
@ax3l ax3l added the component: boosted frame boosted frame components & logic label Mar 3, 2025
.. code-block:: text

<diag_name>.openpmd_backend = bp5
<diag_name>.adios2_engine.parameters.FlattenSteps = on
Copy link
Member

Choose a reason for hiding this comment

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

@guj does this only have an effect for variable based encoding or generally (e.g., file based encoding)?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

general

Copy link
Contributor Author

Choose a reason for hiding this comment

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

but right now flatten steps is only applied to BTD

@ax3l ax3l enabled auto-merge (squash) March 3, 2025 19:31
@ax3l ax3l merged commit 66fe115 into ECP-WarpX:development Mar 3, 2025
36 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug: affects latest release Bug also exists in latest release version bug Something isn't working component: boosted frame boosted frame components & logic component: diagnostics all types of outputs component: openPMD openPMD I/O Performance optimization
Projects
None yet
Development

Successfully merging this pull request may close these issues.

file based bp5 writer hang
3 participants