Releases: munich-quantum-toolkit/qmap
Release 1.8.2: Additional Architectures
What's Changed
- add rigetti agave and aspen by @lucasberent in #66
Dependency Updates
- Bump extern/qfr from
554a6e4to23a94fcby @dependabot in #63 - Bump pypa/cibuildwheel from 2.5.0 to 2.6.0 by @dependabot in #64
- Bump DoozyX/clang-format-lint-action from 0.13 to 0.14 by @dependabot in #67
- Bump extern/qfr from
23a94fcto0f2d1c2by @dependabot in #68
New Contributors
- @lucasberent made their first contribution in #66
Full Changelog: v1.8.1...v1.8.2
MaxSAT Evaluation 2022
Additionally, benchmarks submitted to the 2022 MaxSAT Evaluation can be found in the zip file attached to this release. The WCNF instances were generated using the exact mapper of QMAP using benchmark circuits from MQT Bench.
Release 1.8.1: Bugfix Release
This release fixes some bugs that prevented custom encodings from working properly.
What's Changed
- Encoding fixes by @IsFairy in #59
- Bump extern/qfr from
22528b3to554a6e4by @dependabot in #60 - Fix encodings by @burgholzer in #61
Full Changelog: v1.8.0...v1.8.1
Release v1.8.0: Usability Improvements
This release adds many usability improvements to the QMAP tool:
- mapped circuits now properly contain measurements at the end of the circuit
- an option is provided to extract the
WCNFformulation from Z3 for use in other solvers - a simple post-optimization is introduced that tried to cancel adjacent CNOTs and (parts of) SWAPs
- the search for the minimum number of SWAPs required for a particular permutation is terminated according to the number of allowed SWAPs per layer
- the exact mapper now allows to map to particular subgraphs of larger architectures (given as a set of qubits)
- gate counts of the mapped circuit are now reported slightly differently (SWAPs, etc. are no longer listed extra but appropriately reflected in the CNOT gate count)
- the output in
verbosemode has been slightly improved for the exact mapper
What's Changed
- ✨ Add measurements to mapped circuit by @burgholzer in #50
- ✨ add option to dump WCNF file from exact mapper by @burgholzer in #51
- Subgraph mapping by @burgholzer in #52
- ⚡ Early termination in permutation search by @burgholzer in #55
- ✨ Pre- and Post-Mapping Optimizations by @burgholzer in #56
- 🚸 Small usability improvements by @burgholzer in #57
- Bump pypa/cibuildwheel from 2.4.0 to 2.5.0 by @dependabot in #54
- Bump extern/qfr from
b8a1148tob38fe5fby @dependabot in #53
Full Changelog: v1.7.0...v1.8.0
Release v1.7.0: Bugfixes and Modernization
This release fixes several bugs:
- Circuits containing measurements and barriers could not be mapped due to the non-unitary nature of these gates
- A bug in the heuristic mapper prevented it from correctly tracking the number of additional gates
- Circuits containing only single-qubit gates could not be mapped by the exact mapper
- Execution was not properly halted whenever the exact mapper did not return a valid result (timeout or unsat)
- The search space limitation feature had a serious bug that prevented it from creating proper SAT instances in some cases
- If the exact mapper found a solution that requires no overhead, it still tried out every possible combination of possible subsets.
sxandsxdggates in.qasmfiles were not natively supported
In addition, this release modernizes the build and deployment configurations to be up-to-date with our other projects:
- the README is updated with the new TUM information
- the license is updated
- z3 has been updated to version 3.8.16
- versioning is now handled with
setuptools-scm - ninja is now used per default for building the python package
What Else Has Changed
- Bump actions/checkout from 2 to 3 by @dependabot in #33
- Bump actions/cache from 2 to 3 by @dependabot in #36
- Bump codecov/codecov-action from 2.1.0 to 3.0.0 by @dependabot in #42
- Bump actions/upload-artifact from 2 to 3 by @dependabot in #44
- Bump actions/download-artifact from 2 to 3 by @dependabot in #43
- Bump codecov/codecov-action from 3.0.0 to 3.1.0 by @dependabot in #47
- Bump github/codeql-action from 1 to 2 by @dependabot in #49
Full Changelog: v1.6.0...v1.7.0
Release v1.6.0: MQT QMAP
This release marks the transition from the JKQ framework to the Munich Quantum Toolkit (MQT).
What's Changed
- Bump extern/qfr from
49f5923to2ab280bby @dependabot in #22 - Bump extern/qfr from
2ab280bto34b5811by @dependabot in #24 - Bump extern/qfr from
34b5811todca7f1fby @dependabot in #25 - Bump extern/qfr from
dca7f1fto250e721by @dependabot in #28 - Bump extern/qfr from
250e721to6bb07d6by @dependabot in #29 - Bump actions/setup-python from 2 to 3 by @dependabot in #31
- Rebranding to MQT by @burgholzer in #30
Full Changelog: v1.5.1...v1.6.0
Release 1.5.1: Bugfixes and Apple Silicon Support
What's Changed
- Portable wheels for Apple Silicon by @burgholzer in #14
- Bump DoozyX/clang-format-lint-action from 0.12 to 0.13 by @dependabot in #19
- Bump codecov/codecov-action from 1 to 2.1.0 by @dependabot in #18
- Bump extern/qfr from
e7fcb02to49f5923by @dependabot in #20 - Compile flag and z3 dependency fixes by @katringoogoo in #21
New Contributors
- @dependabot made their first contribution in #19
- @katringoogoo made their first contribution in #21
Full Changelog: v1.5.0...v1.5.1
Release 1.5.0: Limiting the Search Space
This release adds the functionality to limit the search space during optimal circuit mapping introduced in:
L. Burgholzer, S. Schneider, and R. Wille. Limiting the Search Space in Optimal Quantum Circuit Mapping. In Asia and South Pacific Design Automation Conference (ASP-DAC), 2022.
Furthermore, it brings the following additions and changes:
- ♻️ refactored Python bindings that are now easier to use
- ⚡ actually enables -march=native -mtune=native for source builds via pip
- ⚡ setup.py now runs on as many threads as available
- 🏗️ switch to PEP 517
pyproject.toml - 💚 switch cibuildwheel configuration to
pyproject.toml - 🚀 Python 3.10 wheels
- ⬆️ updates for all external submodules
- 📝 updated documentation
Release v1.4.0: Internal Representation Update
This release updates QMAP to use the latest version of the QFR library. Notable changes:
- updated Qiskit
QuantumCircuitimport (munich-quantum-toolkit/core#7) - bugfixes for several optimization passes (munich-quantum-toolkit/core#9)
- shortcuts for applying gates (munich-quantum-toolkit/core#11)
- fixes for iSWAP and Peres OpenQASM export (munich-quantum-toolkit/core#12)
- improved OpenQASM parser that now supports even more gates natively (munich-quantum-toolkit/core#14)
Release v1.3.2: Bindings Bugfix
Fixes some issues and bugs in the bindings code and updates CI Pipeline to always test bindings.
Version 1.3.1 Release
Fix an issue with the teleportation.