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

Release 0.14.5 backports #1282

Merged
merged 35 commits into from
Jun 7, 2022
Merged

Conversation

ax3l
Copy link
Member

@ax3l ax3l commented May 25, 2022

https://github.com/openPMD/openPMD-api/milestone/4

Improve Series Parsing, Python & Fix Backend Bugs

This release improves reading back iterations that overflow the specified zero-pattern.
ADIOS1, ADIOS2 and HDF5 backend stability and performance were improved.
Python bindings got additional wheel platform support and various smaller issues were fixed.

Thanks to @ax3l, @franzpoeschel, and @jeanbez for contributing to this release!

Which version am I running?

Python

import openpmd_api
print(openpmd_api.__version__)

C++

#include <openPMD/openPMD.hpp>
#include <iostream>

int main() {
    // query compile-time macros:
    std::cout << OPENPMDAPI_VERSION_MAJOR << "."
              << OPENPMDAPI_VERSION_MINOR << "."
              << OPENPMDAPI_VERSION_PATCH << std::endl;
    // there is also: OPENPMDAPI_VERSION_LABEL (e.g. "alpha")

    // or query the runtime API (since 0.12.0):
    std::cout << openPMD::getVersion() << std::endl;
    return 0;
}

CLI

# command line option (since 0.12.0):
openpmd-ls --version

jeanbez and others added 25 commits May 25, 2022 09:06
Improve patch comment
Avoid stripping symbols for Python debug builds, so we can see lines
in coredumps and debugger runs.
Update the NVHPC install instructions to the latest and greatest.
Fix failing CI (dependency install).

Also upgrade to 21.11 as on Perlmutter.
This tries to fix a compile error on Maxwell (DESY).
```
/home/diederse/software/hipace_4GPU/hipace/build/_deps/fetchedopenpmd-src/src/IO/HDF5/HDF5IOHandler.cpp: In member function 'virtual void openPMD::HDF5IOHandlerImpl::readAttribute(openPMD::Writable*, openPMD::Parameter<openPMD::Operation::READ_ATT>&)':
/home/diederse/software/hipace_4GPU/hipace/build/_deps/fetchedopenpmd-src/src/IO/HDF5/HDF5IOHandler.cpp:1586:17: error: 'H5free_memory' was not declared in this scope
 1586 |                 H5free_memory(m1);
      |                 ^~~~~~~~~~~~~
/home/diederse/software/hipace_4GPU/hipace/build/_deps/fetchedopenpmd-src/src/IO/HDF5/HDF5IOHandler.cpp:1609:17: error: 'H5free_memory' was not declared in this scope
 1609 |                 H5free_memory(m1);
      |                 ^~~~~~~~~~~~~
/home/diederse/software/hipace_4GPU/hipace/build/_deps/fetchedopenpmd-src/src/IO/HDF5/HDF5IOHandler.cpp:1628:17: error: 'H5free_memory' was not declared in this scope
 1628 |                 H5free_memory(m2);
      |                 ^~~~~~~~~~~~~
```
Don't know if it is necessary, but looks like we forgot it earlier

Add comment
Small numbers, as common for iterations, were flushed to zero
in `std::to_string(double)` of the representation of `Iteration`
variables:
```
step    __repr__
100     <openPMD.Iteration at t = '0.000000 s'>
was:    8.687655225973454e-14 * 1.0
```
Update the documentation about HDFFV-11260 and the newly released
fixes in release lines.
@ax3l
Copy link
Member Author

ax3l commented May 25, 2022

```
/home/runner/work/openPMD-api/openPMD-api/src/IO/HDF5/HDF5IOHandler.cpp:1835:21:
  warning: repeated branch in conditional chain [bugprone-branch-clone]
                    isLegacyLibSplashAttr =
                    ^
```
@ax3l ax3l mentioned this pull request May 26, 2022
2 tasks
ax3l and others added 3 commits May 26, 2022 15:24
If the padding is inconsistent, a later Iteration::open() needs the
original filename. Trying to compute the filename from the expansion
pattern will lead to wrong filenames.
@ax3l ax3l force-pushed the release-0.14.5-backports branch from 5482409 to 67e8d8b Compare May 26, 2022 22:33
@franzpoeschel
Copy link
Contributor

I resolved the conflicting backports in ax3l#5 and ax3l#6.

franzpoeschel and others added 2 commits May 30, 2022 10:53
* Pass-through flushing parameters

* CI fixes

* Test

* Don't flush when opening an iteration

* CI fixes

* FlushLevel: Use default base class in NVC++

* clang-tidy: Define member defaults of Writable in-class

* Update include/openPMD/IO/AbstractIOHandler.hpp

Co-authored-by: Axel Huebl <[email protected]>
* Don't safeguard empty strings while reading

* Update TODO Comment

* Add missing update for VEC_CLONG_DOUBLE

* Ignore deprecated AccessType in SerialIOTest

* SerialIOTest: Fix GCC Pragma Check (openPMD#1260)

There was a typo in `__GNUC_MINOR__`, causing the test not to work on all GCC versions.

Follow-up to openPMD#1213

* Clearly fail when users select a wrong backend

* ICC: Unreachable end of function

* Fix use after free in ADIOS1IOHandler

* Remove unavailable_backend_test

Hard to trigger without explicit backend selection, and test coverage is
present on dev anyway

Co-authored-by: Axel Huebl <[email protected]>
@ax3l ax3l force-pushed the release-0.14.5-backports branch from 235eca0 to ba0ff8e Compare June 6, 2022 22:55
including Changelog
@ax3l ax3l force-pushed the release-0.14.5-backports branch from ba0ff8e to acca2cd Compare June 7, 2022 16:09
Copy link
Contributor

@franzpoeschel franzpoeschel left a comment

Choose a reason for hiding this comment

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

Nice!

@ax3l ax3l merged commit ce25526 into openPMD:release-0.14.5 Jun 7, 2022
@ax3l ax3l deleted the release-0.14.5-backports branch June 7, 2022 17:17
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