2.6.0
Version 2.6.0
What's new
sdpb
- New INCOMPATIBLE format for sdp.zip.
Instead of a singleblock_XXX.json
file now we useblock_info_XXX.json
andblock_data_XXX.json
(orblock_data_XXX.bin
), see SDPB_input_format.md. See #114. - Compact binary format instead of JSON for
block_data_XXX
in sdp.zip.
When generating sdp.zip bysdp2input
orpvm2sdp
, you can use optional command-line argument to choose between
binary and JSON formats:
sdp2input --outputFormat FORMAT
pvm2sdp FORMAT PRECISION INPUT... OUTPUT
where FORMAT
is either bin
(used by default) or json
.
We recommend using the default binary format since it is more compact and efficient than json. See #114, #128, #119, #149.
Tests and CI/CD
- Tests are reorganized and rewritten from shell scripts to C++ Catch2 framework.
Added unit tests and realistic end-to-end tests. See #91, #102, #109, #119. - CI/CD pipelines on CircleCI.
Tests are run for eachgit push
to the repo and for each pull request. Docker images for themaster
branch and for each release starting from 2.6.0 are uploaded to Docker Hub automatically. See #133, #136.
Installations
- Updated installations for BU, Caltech, Expanse, Harvard, and Imperial College clusters, added example scripts.
- Added Apple MacBook installation instructions.
- Building Docker images and using them in Docker/Podman/Singularity is now much easier.
- New lightweight Docker image does not contain
scalar_blocks
andblocks_3d
anymore.
Separate images for sdpb, scalar_blocks and blocks_3d are now uploaded to https://hub.docker.com/u/bootstrapcollaboration. See #130. - Switched from C++14 to C++17. See #118, #121.
List of merged PRs
- Notes on current EPFL installation by @jmarucha in #69
- fix header references for boost 1.79.0 by @jmarucha in #70
- Print memory usage by @vasdommes in #83
- Cosmetic improvements by @vasdommes in #84
- Fix #81 Block_Info::read_block_costs(): use more realistic RAM estimate by @vasdommes in #82
- Organize tests by @vasdommes in #91
- Minor fixes by @vasdommes in #95
- Minor fixes: fix relative paths in .nsv + some cosmetics by @vasdommes in #101
- Rewrite integration tests from shell scripts to C++ Catch2 framework by @vasdommes in #102
- Realistic end-to-end tests for sdp2input + sdpb by @vasdommes in #109
- Integration tests improvements by @vasdommes in #112
- Fix #79 Binary input for sdpb by @vasdommes in #114
- Minor fixes: use cxx17, improve unit_tests output, optimize SDP block read by @vasdommes in #118
- Test and benchmark for block_data SDP serialization (JSON/binary) by @vasdommes in #119
- Fix #120 Replace boost::filesystem with std::filesystem (C++17) by @vasdommes in #121
- Fix #124 parse empty bilinear bases by @vasdommes in #126
- Various installation fixes and improvements by @vasdommes in #125
- Binary sdp: enable by default and add option to pvm2sdp by @vasdommes in #128
- New Dockerfile by @vasdommes in #130
- Fix #131 Simple CI: automatically run tests for each pull request by @vasdommes in #133
- Add badges to Readme.md: License, Release (latest), CircleCI build status, open issues by @vasdommes in #135
- CircleCI: add deploy-master and deploy-tag jobs to the workflow. by @vasdommes in #136
- Minor improvements: Docker, CircleCI, tests, .gitignore, .clang-format by @vasdommes in #139
- Added version info while calling --help by @bharathr98 in #144
- Fix #99 Push/pop Timer name prefixes by @vasdommes in #146
- Fix #148 Binary SDP format is larger than json format if blocks contain many zeros by @vasdommes in #149
- Minor fixes: more timers and output messages, lightweight git tags, use total time for --maxRuntime by @vasdommes in #151
- Update docs for 2.6.0 by @vasdommes in #138
- Minor improvements: new spectrum test, updated Macbook instructions by @vasdommes in #154
New Contributors
- @jmarucha made their first contribution in #69
- @vasdommes made their first contribution in #83
- @bharathr98 made their first contribution in #144
Full Changelog: 2.5.1...2.6.0