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

Python bindings: Release GIL during IO wait operations #1381

Merged
merged 5 commits into from
Apr 13, 2023

Conversation

franzpoeschel
Copy link
Contributor

@franzpoeschel franzpoeschel commented Feb 27, 2023

Fix #1380

This releases the GIL basically in those calls that trigger adios2::Engine::BeginStep(). Releasing the GIL for adios2::Engine::EndStep, and during flushes is more difficult since those calls may imply write access to Python buffers.

For a follow-up PR, we could try adding an async for implementation for the ReadIterations API.

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.

👍

@ax3l ax3l merged commit 3acf565 into openPMD:dev Apr 13, 2023
eschnett added a commit to eschnett/openPMD-api that referenced this pull request May 19, 2023
* dev: (82 commits)
  Docs: Linking to C++ Projects (openPMD#1445)
  CI: macOS-11 Update (openPMD#1446)
  [pre-commit.ci] pre-commit autoupdate (openPMD#1437)
  Fix deprecated storeChunk APIs in first read/write examples (openPMD#1435)
  Update .readthedocs.yml (openPMD#1438)
  Doc: Fix Bib Authors (openPMD#1434)
  [pre-commit.ci] pre-commit autoupdate (openPMD#1425)
  More careful documentation of streaming API (openPMD#1430)
  Fix gcc9 warning (openPMD#1429)
  Python bindings: Release GIL during IO wait operations (openPMD#1381)
  RecordComponent: Properly handle uninitialized datasets (openPMD#1316)
  Remove ADIOS1 - Long Live ADIOS2 (openPMD#1419)
  Post 0.15.0 Changelog Template (openPMD#1420)
  GitHub Actions: macOS has 3 Cores (openPMD#1421)
  `version.hpp`: 0.15.1 (openPMD#1417)
  [pre-commit.ci] pre-commit autoupdate (openPMD#1416)
  Release 0.15.1 (openPMD#1414)
  Doc: More HTML Updates (CSS) (openPMD#1413)
  Enable clang-format also for .tpp files by using a regex instead of a predefined filter (openPMD#1403)
  Docs: Update Funding (openPMD#1412)
  ...

# Conflicts:
#	.github/workflows/linux.yml
#	CMakeLists.txt
@ax3l ax3l modified the milestones: 0.16.0, 0.15.3 Sep 15, 2023
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.

Python: GIL is not released during blocking read from ADIOS2 stream
2 participants