Skip to content

✨ New Zoned Neutral Atom Compiler - #624

Merged
ystade merged 270 commits into
mainfrom
wip-azac
May 26, 2025
Merged

✨ New Zoned Neutral Atom Compiler#624
ystade merged 270 commits into
mainfrom
wip-azac

Conversation

@ystade

@ystade ystade commented Apr 5, 2025

Copy link
Copy Markdown
Collaborator

Description

This rather big (sorry for that) PR adds a new compiler for zoned neutral atom architectures. The key benefit is its modular structure. This should ease the further development of the compiler as only components of the compiler must be touched.

This implementation in C++ is based on its previous implementation in Python from here and its corresponding article here.

Checklist:

  • The pull request only contains commits that are related to it.
  • I have added appropriate tests and documentation.
  • I have made sure that all CI jobs on GitHub pass.
  • The pull request introduces no new warnings and follows the project's style guidelines.

ystade added 30 commits March 3, 2025 13:07
# Conflicts:
#	include/na/Architecture.hpp
#	include/na/nasp/CodeGenerator.hpp
#	include/na/nasp/SolverFactory.hpp
#	src/na/Architecture.cpp
#	src/na/nasp/CodeGenerator.cpp
#	src/na/nasp/SolverFactory.cpp
#	test/na/nasp/test_codegenerator.cpp
#	test/na/nasp/test_solver.cpp
#	test/na/nasp/test_solverfactory.cpp
# Conflicts:
#	include/na/nalac/NAMapper.hpp
#	include/na/nalac/datastructures/Architecture.hpp
#	include/na/nasp/SolverFactory.hpp
#	src/na/nalac/NAMapper.cpp
#	src/na/nalac/datastructures/Architecture.cpp
#	src/na/nasp/CodeGenerator.cpp
#	src/na/nasp/SolverFactory.cpp
#	test/na/nasp/test_codegenerator.cpp
#	test/na/nasp/test_solver.cpp
#	test/na/nasp/test_solverfactory.cpp
This reverts commit 5b587d5.
@ystade

ystade commented May 23, 2025

Copy link
Copy Markdown
Collaborator Author

@burgholzer When I am not mistaken, there is only one open comment waiting for your response. Besides that, I resolved all other comments by making appropriate changes. Furthermore, I added multiple entries to the CHANGELOG and also a short note to the UPGRADING notes.

@burgholzer burgholzer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks for all the work on this.
I believe this is ready for a first release.
The two typos should be easily fixed by adopting the suggestions.
Feel free to ignore the third comment. It's just something that caught my eye.

You know the drill for preparing a release already from the workflows release. Same holds here 🙂
Maybe check the release draft to make sure that there are no unlabeled PRs.

Comment thread UPGRADING.md Outdated
Comment thread python/mqt/qmap/na/__init__.py Outdated
Comment thread test/python/test.py
ystade and others added 3 commits May 24, 2025 09:24
Co-authored-by: Lukas Burgholzer <burgholzer@me.com>
Signed-off-by: Yannick Stade <100073938+ystade@users.noreply.github.com>
Co-authored-by: Lukas Burgholzer <burgholzer@me.com>
Signed-off-by: Yannick Stade <100073938+ystade@users.noreply.github.com>
@ystade

ystade commented May 26, 2025

Copy link
Copy Markdown
Collaborator Author

You know the drill for preparing a release already from the workflows release. Same holds here 🙂
Maybe check the release draft to make sure that there are no unlabeled PRs.

Should this be a patch release or minor release?

@burgholzer

Copy link
Copy Markdown
Member

You know the drill for preparing a release already from the workflows release. Same holds here 🙂

Maybe check the release draft to make sure that there are no unlabeled PRs.

Should this be a patch release or minor release?

This PR here should be tagged with the minor label and the release should be a minor one. I believe features as big as this deserve their own "big" release.

@ystade
ystade enabled auto-merge (squash) May 26, 2025 12:14
@ystade
ystade merged commit 1dad2ff into main May 26, 2025
@ystade
ystade deleted the wip-azac branch May 26, 2025 12:17
@github-project-automation github-project-automation Bot moved this from In Progress to Done in MQT Compilation May 26, 2025
@github-project-automation github-project-automation Bot moved this from In Progress to Done in MQT May 26, 2025
@ystade ystade mentioned this pull request May 26, 2025
8 tasks
ystade added a commit that referenced this pull request May 26, 2025
## Description

This PR prepares the CHANGELOG.md and the UPGRADING.md for the upcoming
release of v3.1.0 that includes the new NA compiler.

Additionally, it fixes a broken link that was overlooked in #624.

## 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 focused and
relevant to this change.
- [ ] I have added appropriate tests that cover the new/changed
functionality.
- [ ] I have updated the documentation to reflect these changes.
- [x] I have added entries to the changelog for any noteworthy
additions, changes, fixes or removals.
- [x] I have added migration instructions to the upgrade guide (if
needed).
- [x] The changes follow the project's style guidelines and introduce no
new warnings.
- [ ] The changes are fully tested and pass the CI checks.
- [x] I have reviewed my own code changes.
burgholzer added a commit to munich-quantum-toolkit/core that referenced this pull request Jun 13, 2025
## Description

This PR aligns the implementation of Python bindings with the
implementation introduced in
[qmap#624](munich-quantum-toolkit/qmap#624). To
this end, a helper function `add_mqt_core_binding` is introduced.

## Checklist:

- [x] The pull request only contains commits that are focused and
relevant to this change.
- [x] ~~I have added appropriate tests that cover the new/changed
functionality.~~
- [x] ~~I have updated the documentation to reflect these changes.~~
- [x] I have added entries to the changelog for any noteworthy
additions, changes, fixes or removals.
- [x] I have added migration instructions to the upgrade guide (if
needed).
- [x] The changes follow the project's style guidelines and introduce no
new warnings.
- [x] The changes are fully tested and pass the CI checks.
- [x] I have reviewed my own code changes.

---------

Signed-off-by: Daniel Haag <121057143+denialhaag@users.noreply.github.com>
Co-authored-by: Yannick Stade <100073938+ystade@users.noreply.github.com>
Co-authored-by: Lukas Burgholzer <burgholzer@me.com>
burgholzer added a commit to munich-quantum-toolkit/ddsim that referenced this pull request Jun 18, 2025
## Description

This PR aligns the implementation of Python bindings with the
implementation introduced in
munich-quantum-toolkit/qmap#624.

## Checklist:

- [x] The pull request only contains commits that are focused and
relevant to this change.
- [x] ~~I have added appropriate tests that cover the new/changed
functionality.~~
- [x] I have updated the documentation to reflect these changes.
- [x] I have added entries to the changelog for any noteworthy
additions, changes, fixes or removals.
- [x] I have added migration instructions to the upgrade guide (if
needed).
- [x] The changes follow the project's style guidelines and introduce no
new warnings.
- [x] The changes are fully tested and pass the CI checks.
- [x] I have reviewed my own code changes.

---------

Signed-off-by: Daniel Haag <121057143+denialhaag@users.noreply.github.com>
Signed-off-by: Lukas Burgholzer <burgholzer@me.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Lukas Burgholzer <burgholzer@me.com>
burgholzer added a commit to munich-quantum-toolkit/qcec that referenced this pull request Jun 26, 2025
## Description

This PR aligns the implementation of Python bindings with the
implementation introduced in
munich-quantum-toolkit/qmap#624.

## Checklist:

- [x] The pull request only contains commits that are focused and
relevant to this change.
- [x] ~~I have added appropriate tests that cover the new/changed
functionality.~~
- [x] ~~I have updated the documentation to reflect these changes.~~
- [x] I have added entries to the changelog for any noteworthy
additions, changes, fixes or removals.
- [x] I have added migration instructions to the upgrade guide (if
needed).
- [x] The changes follow the project's style guidelines and introduce no
new warnings.
- [x] The changes are fully tested and pass the CI checks.
- [x] I have reviewed my own code changes.

---------

Signed-off-by: Lukas Burgholzer <burgholzer@me.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Lukas Burgholzer <burgholzer@me.com>
denialhaag added a commit that referenced this pull request Jul 15, 2025
## Description

This PR further streamlines the implementation of Python bindings. It is
a continuation of #624.

## Checklist:

- [x] The pull request only contains commits that are focused and
relevant to this change.
- [x] ~~I have added appropriate tests that cover the new/changed
functionality.~~
- [x] I have updated the documentation to reflect these changes.
- [x] I have added entries to the changelog for any noteworthy
additions, changes, fixes or removals.
- [x] I have added migration instructions to the upgrade guide (if
needed).
- [x] The changes follow the project's style guidelines and introduce no
new warnings.
- [x] The changes are fully tested and pass the CI checks.
- [x] I have reviewed my own code changes.

---------

Signed-off-by: Daniel Haag <121057143+denialhaag@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Lukas Burgholzer <burgholzer@me.com>
@coderabbitai coderabbitai Bot mentioned this pull request Oct 15, 2025
8 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c++ Anything related to C++ code feature New feature or request minor Changes leading to a minor version increase

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants