Skip to content

[WIP] BP5 Put performance optimization #1756

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

Open
wants to merge 2 commits into
base: dev
Choose a base branch
from

Conversation

franzpoeschel
Copy link
Contributor

According to #1751, BP5 performance takes a hit by calling PerformPuts(). Instead, for BP5, always use Put(Sync), so that we can skip PerformPuts().

@guj Can you check if this really improves performance?

@guj
Copy link
Contributor

guj commented May 9, 2025

I checked it. Works!!

@franzpoeschel franzpoeschel force-pushed the bp5-performance-optimization branch from 04982dd to 17c8621 Compare June 2, 2025 13:50
engine.Put(var, ptr);
auto do_defer =
ba.m_is_bp5 ? adios2::Mode::Sync : adios2::Mode::Deferred;
engine.Put(var, ptr, do_defer);
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This incurs an overhead in EndStep() / PerformDataWrite(). Use Async in those cases.

@guj
Copy link
Contributor

guj commented Jul 8, 2025

@pnorbert @eisenhauer

@ax3l
Copy link
Member

ax3l commented Jul 22, 2025

@pnorbert @eisenhauer can you take a look at this?

@franzpoeschel and I wonder if this is a performance bug that rather should be fixed in ADIOS2.

@franzpoeschel franzpoeschel changed the title Bp5 performance optimization [WIP] Bp5 performance optimization Jul 22, 2025
@ax3l ax3l changed the title [WIP] Bp5 performance optimization [WIP] BP5 Put performance optimization Jul 22, 2025
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.

3 participants