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

✨ Expose gate-level layout reader and writer #308

Merged
merged 6 commits into from
Oct 10, 2023

Conversation

simon1hofmann
Copy link
Collaborator

@simon1hofmann simon1hofmann commented Oct 9, 2023

Description

Expose gate-level layout reader and writer

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.

@simon1hofmann simon1hofmann added the enhancement New feature or request label Oct 9, 2023
@simon1hofmann simon1hofmann self-assigned this Oct 9, 2023
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

clang-tidy made some suggestions

There were too many comments to post at once. Showing the first 25 out of 82. Check the log or trigger a new build to see more.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

clang-tidy made some suggestions

There were too many comments to post at once. Showing the first 25 out of 57. Check the log or trigger a new build to see more.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

clang-tidy made some suggestions

There were too many comments to post at once. Showing the first 25 out of 32. Check the log or trigger a new build to see more.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

clang-tidy made some suggestions

@marcelwa marcelwa merged commit e9d08e0 into cda-tum:pyml Oct 10, 2023
8 checks passed
@simon1hofmann simon1hofmann deleted the expose_gate_level_io branch October 18, 2023 13:51
marcelwa added a commit that referenced this pull request Apr 22, 2024
* 💚 Adjusted start directory path

* 💚 Adjusted the start directory path once more

* 🚨 Removed the build-verbosity flag for cibuildwheels, because it is set by default in build mode

* 💚 Use `python` instead of `python3` to rely on specified version

* 👷 Added two more Python versions (3.7 and 3.8) to the CI

* 👷 Changed job name

* 🐛 Fix test skips based on Z3 (#195)

* use dotenv for compatibility

* declare dotenv a dependency

* use older version due to python version requirements

* use optional dependecies

* fix typo

* install test dependencies for deployment

* use test extras instead of test requires

* 📝 Added more documentation on pyfiction

* 🙈 Added `dist/` to the ignored paths

* 🎨 No need for second `mockturtle` link here

* 🎨 Added another __init__.py file content

* 👷 Trigger dispatch workflow on push such that it appears on GitHub

* ✨ Added shifted_cartesian_layout to pyfiction

* 👷 Set the Z3 environment variable before wheels are build

* 👷 Set the Z3 environment variable before wheels are build

* ✨ Added `pyfiction` documentation to read the docs (#190)

* Add pyfiction documentation to read the docs

* revert change in conf.py for local doc building

* add removed empty line

* Update requirements.txt

* Add docs

* change Mathjax commands to also work in pyfiction docs

* try to order members by source

* exclude mkdoc script from clang-tidy-review

* fix documentation for cartesian layout

* exclude documentation.hpp in clang-tidy review

* update exclude pattern in clang-tidy-review

* move header inside tab

* move header inside individual tabs

* change version requirement for Z3

* override hexagonal layout Python docs

* update hexagonal layout Python docs

---------

Co-authored-by: Marcel Walter <[email protected]>

* 📝 Adjusted the documentation for shifted_cartesian_layout

* 🐛 Fixed the absence of several docstrings by re-running pybind11_mkdoc

* 🎨 Fixed an inconsistency and removed MUGEN from docstring generation

* 📝 Adjusted the README on pyfiction

* 🔥 Removed all remnants of Mugen from pyfiction since it cannot work in its current form

* 🔥 Removed old LGTM config file

* 🔥 Removed (probably unneeded) find Python directive

* 👷 Try removing the before all clause again

* 📝 Fixed hexagonal_layout documentation

* 📝 Added pyfiction RST documentation on shifted_cartesian_layout

* 📝 Added missing pyfiction RST documentation

* ✨ Added read_sqd_layout to pyfiction

* 🏗️ Enable position independent code for tinyxml2 to fix linker errors in pyfiction

* 📝 Adjusted documentation string for read_sqd_layout

* Add gate type checks to pyfiction (#204)

* ✨ Added missing coordinate types to pyfiction

* 📝 Updated docstrings

* ✨ Added missing coordinate functions and documentation

* 🎨 Improved structure of `charge_distribution_surface`

* 🎨 Added `charge_distribution_surface` to pyfiction

* 📝 Small documentation fix

* 📝 Small documentation fix

* 🐛 Fixed documentation build

* 🐛 Fixed documentation build

* ✏️ Fixed a typo

* 👷 Use mold for Python bindings builds as well

* 🐛 Fixed const parameter

* 🐛 Fixed merge artifact

* 🐛 Fixed merge artifact

* 🐛 Fixed documentation build

* 📝 Updated docstrings

* ✨ Added `sidb_simulation_result` to pyfiction

* ✨ Add bounding box to pyfiction (#235)

* expose bounding box to pyfiction

* ✨ Added SiDB simulation to pyfiction

* 🚨 Attempt to fix the compiler issue in RTD

* 📝 Updated mkdoc_docstrings

* ✨ Added time_to_solution and occupation_probability_of_excited_states to pyfiction

* 🔥 Removed unnecessary namespace aliases

* 📝 Added RTD documentation for all SiDB simulation functions

* Pyml tests for simulators (#237)

* 🎨 test added for several functions.

* 🎨 constructor added to use layout as input in charge_distribution_surface.hpp.

* 🎨 add test for the simulators.

* 🎨 add test for the simulators.

* ✅ Fixed several of the failing pyfiction SiDB simulation tests. Some are still failing though.

* ✅ Fixed all SiDB simulator test cases in pyfiction

* 🎨 Added ``assertLessEqual`` to fix Python test under macOS (#246)

* ✨ Added additionally cell-level layout features to pyfiction's charge_distribution_surface

* 👽 Fixed merge conflicts occurred due to architectural changes made to `main`

* ✨ Added 2DDWave distance, post-layout optimization and hexagonalization to pyfiction

* expose is_dead function (#290)

* 🐛 Fix docstring generator (#292)

* Update pyfiction-docstring-generator.yml

* ✨ Add post layout optimization to pyfiction and update docstrings (#293)

* expose post layout optimization algorithm

* Update pyfiction-docstring-generator.yml

* fix post layout optimiztaion binding

* Update pyfiction-docstring-generator.yml

* clang-format

* ✨ Add hexagonalization algorithm to pyfiction (#295)

* 🔀 Resolve merge conflicts with `main`

* 🐛 Added the position independent code requirement for tinyxml

* 📝 Added latest docstrings

* 💚 Attempt to fix sdist

* ⚡ Enable target stripping, IPO, PCH, and unity builds for pyfiction

* 👷 Use ccache in pypi CI

* 🐛 Fix target name

* 🐛 Attempt to fix sdist

* 👷 Make the pyfiction CI fail fast

* 🐛 Remove target stripping from pyfiction

* 🐛 Attempt to fix sdist

* 💚 Attempt to fix RTD

* ✨ Expose gate-level layout reader and writer (#308)

* expose gate-level layout reader and writer

* clang-format

* fix tests and add docs

* remove unnecessary imports

* 🐛 Fix Pyfiction CI

* ✨ Add naming utils to logic network (#311)

* add naming utils to logic network

* add po to index functions

* 🚚 Renamed the `io` folder to `inout` to avoid conflicts with Python's packaging

* 📝 Updated the documentation with the new GitHub link

* 🐛 Fixed includes in accordance to new header location

* 🥅 Added a definition to help spot errors

* ✨ Added `sidb_nanometer_distance` to pyfiction

* ✨ Enable the usage of path finding algorithms on unclocked layouts in pyfiction

* ✨ Added a stub for `design_sidb_gates` in pyfiction to be enabled once CDS works for that function as an input type

* 🔀 Fix merge conflicts

* ✨ Added new function to CDS in pyfiction

* ✨ Added truth table utils and critical temperature simulation to pyfiction

* ✨ Added positive charge detection to pyfiction

* 🎨 Test naming consistency fixes

* ✨ Added detect_bdl_pairs to pyfiction

* ✨ Added detect_bdl_pairs to pyfiction

* ✨ Added is_operational to pyfiction

* 🎨 Consistency fixes for is_operational

* 📝 Added missing SiDB simulation documentation for pyfiction

* 📝 Added missing utils documentation for pyfiction

* ✨ Added potential support for defect influences to pyfiction once it supports CDS arguments

* 📝 Updated mkdoc docstrings

* ✨ Added operational_domain computation to pyfiction

* ✅ Updated Python test

* ✨ Added QuickExact to pyfiction

* 📝 Added missing docstring

* ✨ Added code for the random SiDB layout generator to pyfiction. Needs type fixing together with a couple of other bindings.

* 📝 Added missing docstrings

* ✨ Added time_to_solution to pyfiction

* 🎨 ClangFormat

* ✨ Added assess_physical_population_stability and convert_potential_to_distance to pyfiction

* 🐛 Fix bug in documentation

* ✨ Added proper layout printing to pyfiction

* ✨ Finalized I/O package in pyfiction

* ✨ Finalized technology package in pyfiction

* 🐛 Attempt to fix RTD processing

* ✨ Added all meaningful layout utils to pyfiction

* ✨ Added all meaningful routing utils to pyfiction

* ✨ Added all meaningful name utils to pyfiction

* ✨ Added some meaningful network utils to pyfiction

* ✨ Added some meaningful placement utils to pyfiction

* 🐛 Attempt to fix ReadTheDocs compilation issue

* 📝 Adjusted the PR template with pyfiction in mind

* 📝 Adjusted MathJaX comments

* 🐛 Fix documentation bugs

* 🐛 Fix Sphinx compilation issue

* 🐛 Fix exception naming

* 🎨 Improve structure and documentation of the SiDB defects

* ✨ Added network dot drawers to pyfiction

* 🎨 Renamed package to `mnt.pyfiction`

* 📝 Fix small documentation inconsistency

* 🚀 Deploy to PyPI

* 🍱 Added static documentation graphics to the sdist

* 📝 Added documentation on mnt.pyfiction

* 📝 Added documentation on cube coordinates

* 🍱 Added static documentation graphics to the sdist

* ✅ add test for cds.

* ✅ add test for cds.

* ✅ add layout for unit tests.

* 🎨 consistent name for the simulation parameters.

* ✅ add more tests for pyfiction

* 🎨 small changes.

* 🎨 Enable the usage of py_sidb_layout instead of py_charge_distribution_surface in simulation algorithms

* 🎨 allow offset coordinates.

* 🎨 allow offset coordinates.

* 🎨 delete redundant static_assert

* 🐛 convert siqad to offset coordinates.

* ✨ add time_to_solution function to pyfiction.

* 🎨 typo.

* 🎨 add final line.

* ✅ add unit test for random layout generator

* 🎨 Renamed pyfiction's `logic_network` to `technology_network` in accordance with fiction

* 🎨 Change parameter type of pyfiction's time_to_solution to py_sidb_layout

* 🎨 ClangFormat changes

Signed-off-by: ClangFormat <[email protected]>

* 👷 Reverted changes made for testing. Publish to PyPI only on release.

* 🔧 Added a note for developers regarding Python bindings

* Apply Simon's suggestions

Co-authored-by: simon1hofmann <[email protected]>

* 📝 small fix.

* 🎨 ClangFormat changes

Signed-off-by: ClangFormat <[email protected]>

* 🎨 change test so that no positively charged SiDBs are allowed.

* 🎨 small changes.

* 🎨 use lambda expression due to new template parameter.

* 🎨 small change.

* ✅ update test.

* ⬆️ upgrade ``pybind11``.

* 👷 change pypa version.

* ✅ add pybind unit test for sidb gate design.

* ✅ choose correct inverter gate with input tags.

* 🎨 small fixes.

* 🎨 add missing headers.

* 🎨 use offset instead of siqad coordinates.

* 📝 use ``autoclass``.

* 📝 replace ` by `` to use markdown in documentation.

* 📝 undo changes.

* 📝 small fix.

* 📝 small fix.

* 📝 update design_sidb_gates.rst

* 📝 add empty line between the header and the doxygenclass.

* 📝 fix small issue.

* 🔀 merge ``main`` in. WIP code.

* 🎨 ClangFormat changes

Signed-off-by: ClangFormat <[email protected]>

* 🎨 first working version with Si-lattice support.

* 🎨 small fix.

* 🎨 add ``operational_input_patterns`` function.

* 🎨 extensive change, expose new functions to pyfiction, add more unit tests.

* 🎨 111-support.

* ✅ add more unit tests.

* 🎨 ClangFormat changes

Signed-off-by: ClangFormat <[email protected]>

* 📝 update docu.

* 📝 update docu.

* 🎨 update experiments.

* 🎨 update DOC reference.

* 🎨 update DOC reference.

* 🎨 update sidb_lattice.rst

* 🎨 rename function and change folder location.

* 🎨 rename function and update docu.

* 🐛 small bug fix in opdomain unit test.

* 📝 update docu.

* 📝 small fix in docu.

* 📝 use correct docstring.

* 🎨 template deduction is working.

* 🎨 template deduction is working.

* 🎨 ClangFormat changes

Signed-off-by: ClangFormat <[email protected]>

* 🎨 small changes.

* 🎨 small fix.

* 🎨 update docu.

* 🎨 small changes.

* 🎨 update the unordered map.

* 🐛 Fixed bug in the RST documentation of `one_pass_synthesis`

* 🎨 Incorporated pre-commit fixes

* 🔀 merge with ``main``.

* 🐛 use correct limit.

* 🎨 use ``FICTION_EXECUTION_POLICY_SEQ`` for random sampling.

* ✅ fix unit test after merge.

* 🎨 revert execution policy setting and update unit test.

* 🎨 define hash function and use set to have unique random sample points.

* 🔥 remove hash function for step point.

---------

Signed-off-by: ClangFormat <[email protected]>
Co-authored-by: simon1hofmann <[email protected]>
Co-authored-by: Jan Drewniok <[email protected]>
Co-authored-by: Simon Hofmann <[email protected]>
Co-authored-by: Simon <[email protected]>
Co-authored-by: Drewniok <[email protected]>
Co-authored-by: ClangFormat <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants