Skip to content

Commit

Permalink
⬆️ update mqt-core and adapt to changes (#507)
Browse files Browse the repository at this point in the history
## Description

This PR updates MQT Core and adapts the code base to the changes from
cda-tum/mqt-core#668.

## Checklist:

<!---
This checklist serves as a reminder of a couple of things that ensure
your pull request will be merged swiftly.
-->

- [x] The pull request only contains commits that are related to it.
- [x] I have added appropriate tests and documentation.
- [x] I have made sure that all CI jobs on GitHub pass.
- [x] The pull request introduces no new warnings and follows the
project's style guidelines.
  • Loading branch information
burgholzer authored Aug 14, 2024
2 parents f61fc74 + 5183553 commit 41ed926
Show file tree
Hide file tree
Showing 53 changed files with 119 additions and 117 deletions.
4 changes: 2 additions & 2 deletions cmake/ExternalDependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ if(BUILD_MQT_QMAP_BINDINGS)
endif()

# cmake-format: off
set(MQT_CORE_VERSION 2.6.0
set(MQT_CORE_VERSION 2.6.1
CACHE STRING "MQT Core version")
set(MQT_CORE_REV "2a7a92951fb67d0c4e795afbd17449063aa42d20"
set(MQT_CORE_REV "89f18fb322ff2ce86e33558e3a2b42a08e655174"
CACHE STRING "MQT Core identifier (tag, branch or commit hash)")
set(MQT_CORE_REPO_OWNER "cda-tum"
CACHE STRING "MQT Core repository owner (change when using a fork)")
Expand Down
16 changes: 8 additions & 8 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,14 +72,14 @@

intersphinx_mapping = {
"python": ("https://docs.python.org/3", None),
"typing_extensions": ("https://typing-extensions.readthedocs.io/en/latest/", None),
"qiskit": ("https://docs.quantum.ibm.com/api/qiskit/", None),
"mqt": ("https://mqt.readthedocs.io/en/latest/", None),
"core": ("https://mqt.readthedocs.io/projects/core/en/latest/", None),
"ddsim": ("https://mqt.readthedocs.io/projects/ddsim/en/latest/", None),
"qcec": ("https://mqt.readthedocs.io/projects/qcec/en/latest/", None),
"qecc": ("https://mqt.readthedocs.io/projects/qecc/en/latest/", None),
"syrec": ("https://mqt.readthedocs.io/projects/syrec/en/latest/", None),
"typing_extensions": ("https://typing-extensions.readthedocs.io/en/latest", None),
"qiskit": ("https://docs.quantum.ibm.com/api/qiskit", None),
"mqt": ("https://mqt.readthedocs.io/en/latest", None),
"core": ("https://mqt.readthedocs.io/projects/core/en/latest", None),
"ddsim": ("https://mqt.readthedocs.io/projects/ddsim/en/latest", None),
"qcec": ("https://mqt.readthedocs.io/projects/qcec/en/latest", None),
"qecc": ("https://mqt.readthedocs.io/projects/qecc/en/latest", None),
"syrec": ("https://mqt.readthedocs.io/projects/syrec/en/latest", None),
}

nbsphinx_execute = "auto"
Expand Down
2 changes: 1 addition & 1 deletion include/Architecture.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#pragma once

#include "configuration/AvailableArchitecture.hpp"
#include "operations/OpType.hpp"
#include "ir/operations/OpType.hpp"
#include "utils.hpp"

#include <algorithm>
Expand Down
4 changes: 2 additions & 2 deletions include/DataLogger.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
#include "Architecture.hpp"
#include "Definitions.hpp"
#include "MappingResults.hpp"
#include "QuantumComputation.hpp"
#include "operations/CompoundOperation.hpp"
#include "ir/QuantumComputation.hpp"
#include "ir/operations/CompoundOperation.hpp"
#include "utils.hpp"

#include <array>
Expand Down
4 changes: 2 additions & 2 deletions include/Mapper.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
#include "Architecture.hpp"
#include "Definitions.hpp"
#include "MappingResults.hpp"
#include "QuantumComputation.hpp"
#include "configuration/Configuration.hpp"
#include "operations/Operation.hpp"
#include "ir//QuantumComputation.hpp"
#include "ir/operations/Operation.hpp"
#include "utils.hpp"

#include <algorithm>
Expand Down
2 changes: 1 addition & 1 deletion include/cliffordsynthesis/CliffordSynthesizer.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
#pragma once

#include "Definitions.hpp"
#include "QuantumComputation.hpp"
#include "cliffordsynthesis/Configuration.hpp"
#include "cliffordsynthesis/Results.hpp"
#include "cliffordsynthesis/Tableau.hpp"
#include "cliffordsynthesis/TargetMetric.hpp"
#include "cliffordsynthesis/encoding/SATEncoder.hpp"
#include "ir/QuantumComputation.hpp"

#include <cstddef>
#include <limits>
Expand Down
4 changes: 2 additions & 2 deletions include/cliffordsynthesis/Results.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@

#pragma once

#include "CircuitOptimizer.hpp"
#include "QuantumComputation.hpp"
#include "circuit_optimizer/CircuitOptimizer.hpp"
#include "cliffordsynthesis/Tableau.hpp"
#include "ir/QuantumComputation.hpp"
#include "logicblocks/Logic.hpp"

#include <cstddef>
Expand Down
4 changes: 2 additions & 2 deletions include/cliffordsynthesis/Tableau.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@

#pragma once

#include "QuantumComputation.hpp"
#include "operations/Operation.hpp"
#include "ir/QuantumComputation.hpp"
#include "ir/operations/Operation.hpp"

#include <bitset>
#include <cassert>
Expand Down
4 changes: 2 additions & 2 deletions include/cliffordsynthesis/encoding/GateEncoder.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@

#pragma once

#include "QuantumComputation.hpp"
#include "cliffordsynthesis/Results.hpp"
#include "cliffordsynthesis/encoding/TableauEncoder.hpp"
#include "ir/QuantumComputation.hpp"
#include "ir/operations/OpType.hpp"
#include "logicblocks/Logic.hpp"
#include "logicblocks/LogicBlock.hpp"
#include "logicblocks/LogicTerm.hpp"
#include "operations/OpType.hpp"

#include <array>
#include <cstddef>
Expand Down
2 changes: 1 addition & 1 deletion include/cliffordsynthesis/encoding/ObjectiveEncoder.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@

#include "cliffordsynthesis/TargetMetric.hpp"
#include "cliffordsynthesis/encoding/GateEncoder.hpp"
#include "ir/operations/OpType.hpp"
#include "logicblocks/LogicBlock.hpp"
#include "logicblocks/LogicTerm.hpp"
#include "operations/OpType.hpp"

#include <cstddef>
#include <memory>
Expand Down
2 changes: 1 addition & 1 deletion include/cliffordsynthesis/encoding/TableauEncoder.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@

#include "cliffordsynthesis/Results.hpp"
#include "cliffordsynthesis/Tableau.hpp"
#include "ir/operations/OpType.hpp"
#include "logicblocks/Logic.hpp"
#include "logicblocks/LogicBlock.hpp"
#include "operations/OpType.hpp"

#include <cstddef>
#include <memory>
Expand Down
4 changes: 2 additions & 2 deletions include/hybridmap/HardwareQubits.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
#pragma once

#include "Definitions.hpp"
#include "Permutation.hpp"
#include "datastructures/SymmetricMatrix.hpp"
#include "hybridmap/NeutralAtomArchitecture.hpp"
#include "hybridmap/NeutralAtomDefinitions.hpp"
#include "hybridmap/NeutralAtomUtils.hpp"
#include "operations/Operation.hpp"
#include "ir/Permutation.hpp"
#include "ir/operations/Operation.hpp"

#include <algorithm>
#include <cstdint>
Expand Down
2 changes: 1 addition & 1 deletion include/hybridmap/HybridAnimation.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#include "Definitions.hpp"
#include "NeutralAtomArchitecture.hpp"
#include "NeutralAtomDefinitions.hpp"
#include "operations/Operation.hpp"
#include "ir/operations/Operation.hpp"

#include <cstdint>
#include <map>
Expand Down
4 changes: 2 additions & 2 deletions include/hybridmap/HybridNeutralAtomMapper.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@

#include "Definitions.hpp"
#include "NeutralAtomLayer.hpp"
#include "QuantumComputation.hpp"
#include "hybridmap/HardwareQubits.hpp"
#include "hybridmap/Mapping.hpp"
#include "hybridmap/NeutralAtomArchitecture.hpp"
#include "hybridmap/NeutralAtomDefinitions.hpp"
#include "hybridmap/NeutralAtomScheduler.hpp"
#include "hybridmap/NeutralAtomUtils.hpp"
#include "operations/Operation.hpp"
#include "ir/QuantumComputation.hpp"
#include "ir/operations/Operation.hpp"

#include <cstddef>
#include <cstdint>
Expand Down
4 changes: 2 additions & 2 deletions include/hybridmap/Mapping.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
#pragma once

#include "Definitions.hpp"
#include "Permutation.hpp"
#include "hybridmap/NeutralAtomDefinitions.hpp"
#include "hybridmap/NeutralAtomUtils.hpp"
#include "operations/Operation.hpp"
#include "ir/Permutation.hpp"
#include "ir/operations/Operation.hpp"

#include <algorithm>
#include <cstddef>
Expand Down
6 changes: 3 additions & 3 deletions include/hybridmap/MoveToAodConverter.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@
#pragma once

#include "Definitions.hpp"
#include "QuantumComputation.hpp"
#include "hybridmap/NeutralAtomArchitecture.hpp"
#include "hybridmap/NeutralAtomDefinitions.hpp"
#include "hybridmap/NeutralAtomUtils.hpp"
#include "ir/QuantumComputation.hpp"
#include "ir/operations/AodOperation.hpp"
#include "ir/operations/OpType.hpp"
#include "na/NADefinitions.hpp"
#include "operations/AodOperation.hpp"
#include "operations/OpType.hpp"

#include <cstdint>
#include <memory>
Expand Down
4 changes: 2 additions & 2 deletions include/hybridmap/NeutralAtomArchitecture.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
#include "datastructures/SymmetricMatrix.hpp"
#include "hybridmap/NeutralAtomDefinitions.hpp"
#include "hybridmap/NeutralAtomUtils.hpp"
#include "ir/operations/OpType.hpp"
#include "ir/operations/Operation.hpp"
#include "na/NADefinitions.hpp"
#include "operations/OpType.hpp"
#include "operations/Operation.hpp"

#include <cstddef>
#include <cstdint>
Expand Down
2 changes: 1 addition & 1 deletion include/hybridmap/NeutralAtomScheduler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
#pragma once

#include "Definitions.hpp"
#include "QuantumComputation.hpp"
#include "hybridmap/NeutralAtomArchitecture.hpp"
#include "hybridmap/NeutralAtomDefinitions.hpp"
#include "ir/QuantumComputation.hpp"

#include <cstdint>
#include <deque>
Expand Down
2 changes: 1 addition & 1 deletion include/hybridmap/NeutralAtomUtils.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

#include "Definitions.hpp"
#include "hybridmap/NeutralAtomDefinitions.hpp"
#include "operations/AodOperation.hpp"
#include "ir/operations/AodOperation.hpp"

#include <cmath>
#include <cstddef>
Expand Down
4 changes: 2 additions & 2 deletions include/na/NAMapper.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@
#include "Architecture.hpp"
#include "Configuration.hpp"
#include "Definitions.hpp"
#include "QuantumComputation.hpp"
#include "ir/QuantumComputation.hpp"
#include "ir/operations/Operation.hpp"
#include "na/NAComputation.hpp"
#include "na/NADefinitions.hpp"
#include "operations/Operation.hpp"

#include <cstddef>
#include <cstdint>
Expand Down
2 changes: 1 addition & 1 deletion include/utils.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

#pragma once

#include "operations/OpType.hpp"
#include "ir/operations/OpType.hpp"

#include <algorithm>
#include <cstddef>
Expand Down
4 changes: 2 additions & 2 deletions noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ def _run_tests(

session.install(*BUILD_REQUIREMENTS, *install_args, env=env)
install_arg = f"-ve.[{','.join(_extras)}]"
session.install("--no-build-isolation", install_arg, *install_args, env=env)
session.install("--no-build-isolation", "--reinstall-package", "mqt.qmap", install_arg, *install_args, env=env)
session.run("pytest", *run_args, *posargs, env=env)


Expand Down Expand Up @@ -99,7 +99,7 @@ def docs(session: nox.Session) -> None:
serve = args.builder == "html" and session.interactive
extra_installs = ["sphinx-autobuild"] if serve else []
session.install(*BUILD_REQUIREMENTS, *extra_installs)
session.install("--no-build-isolation", "-ve.[docs]")
session.install("--no-build-isolation", "-ve.[docs]", "--reinstall-package", "mqt.qmap")
session.chdir("docs")

if args.builder == "linkcheck":
Expand Down
6 changes: 4 additions & 2 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,10 @@ macro(ADD_INTERNAL_LIBRARY libname)
target_include_directories(${lib} PUBLIC $<BUILD_INTERFACE:${MQT_QMAP_INCLUDE_BUILD_DIR}>)

# add MQT::qfr library
target_link_libraries(${lib} PUBLIC MQT::Core nlohmann_json::nlohmann_json)
target_link_libraries(${lib} PRIVATE MQT::ProjectOptions MQT::ProjectWarnings)
target_link_libraries(
${lib}
PUBLIC MQT::CoreIR MQT::CoreCircuitOptimizer nlohmann_json::nlohmann_json
PRIVATE MQT::ProjectOptions MQT::ProjectWarnings)
endmacro()

# macro to add mapping libraries
Expand Down
4 changes: 2 additions & 2 deletions src/DataLogger.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@

#include "Architecture.hpp"
#include "MappingResults.hpp"
#include "operations/CompoundOperation.hpp"
#include "operations/OpType.hpp"
#include "ir/operations/CompoundOperation.hpp"
#include "ir/operations/OpType.hpp"
#include "utils.hpp"

#include <array>
Expand Down
6 changes: 3 additions & 3 deletions src/Mapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
#include "Mapper.hpp"

#include "Architecture.hpp"
#include "CircuitOptimizer.hpp"
#include "Definitions.hpp"
#include "circuit_optimizer/CircuitOptimizer.hpp"
#include "configuration/Layering.hpp"
#include "operations/CompoundOperation.hpp"
#include "operations/OpType.hpp"
#include "ir/operations/CompoundOperation.hpp"
#include "ir/operations/OpType.hpp"
#include "utils.hpp"

#include <algorithm>
Expand Down
8 changes: 4 additions & 4 deletions src/cliffordsynthesis/CliffordSynthesizer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@

#include "cliffordsynthesis/CliffordSynthesizer.hpp"

#include "QuantumComputation.hpp"
#include "cliffordsynthesis/Configuration.hpp"
#include "cliffordsynthesis/Tableau.hpp"
#include "cliffordsynthesis/TargetMetric.hpp"
#include "cliffordsynthesis/encoding/SATEncoder.hpp"
#include "operations/CompoundOperation.hpp"
#include "operations/Operation.hpp"
#include "ir/QuantumComputation.hpp"
#include "ir/operations/CompoundOperation.hpp"
#include "ir/operations/Operation.hpp"

#include <algorithm>
#include <chrono>
Expand Down Expand Up @@ -498,7 +498,7 @@ void CliffordSynthesizer::depthHeuristicSynthesis() {
optimalConfig.target = TargetMetric::Depth;
optimalConfig.initialTimestepLimit = configuration.splitSize;

qc::CircuitOptimizer::reorderOperations(*initialCircuit);
initialCircuit->reorderOperations();
qc::QuantumComputation optCircuit{initialCircuit->getNqubits()};
const std::vector<std::size_t>& layers = getLayers(*initialCircuit);

Expand Down
8 changes: 4 additions & 4 deletions src/cliffordsynthesis/Tableau.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@

#include "cliffordsynthesis/Tableau.hpp"

#include "QuantumComputation.hpp"
#include "operations/CompoundOperation.hpp"
#include "operations/OpType.hpp"
#include "operations/Operation.hpp"
#include "ir/QuantumComputation.hpp"
#include "ir/operations/CompoundOperation.hpp"
#include "ir/operations/OpType.hpp"
#include "ir/operations/Operation.hpp"
#include "utils.hpp"

#include <algorithm>
Expand Down
6 changes: 3 additions & 3 deletions src/cliffordsynthesis/encoding/GateEncoder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@
#include "Definitions.hpp"
#include "Logic.hpp"
#include "LogicTerm.hpp"
#include "QuantumComputation.hpp"
#include "cliffordsynthesis/Results.hpp"
#include "ir/QuantumComputation.hpp"
#include "ir/operations/OpType.hpp"
#include "ir/operations/StandardOperation.hpp"
#include "logicblocks/Encodings.hpp"
#include "logicblocks/Model.hpp"
#include "operations/OpType.hpp"
#include "operations/StandardOperation.hpp"

#include <algorithm>
#include <cstddef>
Expand Down
2 changes: 1 addition & 1 deletion src/cliffordsynthesis/encoding/MultiGateEncoder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
#include "cliffordsynthesis/encoding/MultiGateEncoder.hpp"

#include "Logic.hpp"
#include "ir/operations/OpType.hpp"
#include "logicblocks/LogicTerm.hpp"
#include "operations/OpType.hpp"

#include <cstddef>
#include <cstdint>
Expand Down
Loading

0 comments on commit 41ed926

Please sign in to comment.