https://github.com/cda-tum/mnt-siqad-plugins

Physical Simulation Engines for Silicon Dangling Bonds

https://github.com/cda-tum/mnt-siqad-plugins

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: ieee.org, acm.org
  • Committers with academic emails
    1 of 6 committers (16.7%) from academic institutions
  • Institutional organization owner
    Organization cda-tum has institutional domain (www.cda.cit.tum.de)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.9%) to scientific vocabulary

Keywords

emerging-tech nanocomputing physical-simulation post-cmos

Keywords from Contributors

clocking archiving routing parallel quantum-circuits verification sidb qca placement nml
Last synced: 5 months ago · JSON representation

Repository

Physical Simulation Engines for Silicon Dangling Bonds

Basic Info
Statistics
  • Stars: 16
  • Watchers: 2
  • Forks: 0
  • Open Issues: 1
  • Releases: 2
Topics
emerging-tech nanocomputing physical-simulation post-cmos
Created about 3 years ago · Last pushed 6 months ago
Metadata Files
Readme License

README.md

Munich Nanotech Toolkit (MNT) Plugins for SiQAD

Ubuntu CI macOS CI Windows CI IEEEXplore ACM

This provides three Physical Simulators for Silicon Dangling Bond (SiDB) Logic: ClusterComplete, QuickExact and QuickSim.

General information:

Each of these is implemented on top of the fiction framework. This project makes the simulators available inside the SiQAD GUI.

ClusterComplete

ClusterComplete is an exact simulator, i.e., it determines all physically valid charge configurations of a given layout with 100% accuracy.

  • The pre-simulation step offers configurability over some of its filtering endeavors: Witness partitioning limit and Overlapping witness limit (always smaller or equal than the former) control limits before an NP-complete sub-problem is being solved. The default values ensure that the factorial scaling in the latter parameter is not noticeable in the total runtime. For large simulation problems, it may be beneficial to raise these parameters---their effect can be quickly observed by setting Show pre-simulation statistics to 1 (on). This reveals a number that is proportional to the total runtime, and might be lowered for the given simulation problem when the aforementioned limits are raised.
  • The Instance count parameter gives control over the number of threads used for the simulation. When set to -1, ClusterComplete maximizes computational resources by utilizing all available threads, optimizing simulation efficiency.

QuickExact

QuickExact is an exact simulator, i.e., it determines all physically valid charge configurations of a given layout with 100% accuracy.

  • The parameter Simulation base number autodetection determines whether the simulation should automatically assess and set the required base number before starting. When set to 0 (off), this feature is disabled. However, when set to 1 (on), the simulation evaluates the possibility of positively charged SiDBs occurring based on the provided physical parameters or the proximity of SiDBs. If there's a potential for positively charged SiDBs, the base number is dynamically set to 3. Otherwise, it is set to 2. This ensures that the simulation consistently delivers correct results.

QuickSim

QuickSim is an approximate 2-state simulator for determining the ground state of a given SiDB layout.

  • It enables the tuning of several simulation parameters: Iteration steps and Alpha. For gate layouts, there should be no need to adjust the default values. If no solution is found, however, Iteration steps can be increased or Alpha reduced to enable high-effort simulation.
  • The Instance count parameter gives control over the number of threads used for the simulation. When set to -1, QuickSim maximizes computational resources by utilizing all available threads, optimizing simulation efficiency.

Quick Start

All you need is a git client, cmake, the Boost libraries, and a modern C++ compiler.

Building the Plugins

Clone the repository and its submodules:

bash git clone --recursive https://github.com/cda-tum/mnt-siqad-plugins.git

Inside the newly cloned mnt-siqad-plugins folder, trigger the build process:

bash cmake . -B build cd build cmake --build . -j4 # replace "4" with the number of CPU cores you want to use for the build process

Building a faster ClusterComplete binary

ClusterComplete can be made significantly faster by passing -DFICTION_ENABLE_JEMALLOC=ON, i.e.: bash cmake . -B build -DFICTION_ENABLE_JEMALLOC=ON cd build cmake --build . -j4 NB: This CMake option should not be passed when building QuickSim as it has an adverse effect on the runtime for this plugin. Find more information here.

Using ClusterComplete, QuickExact and QuickSim in the SiQAD GUI

Make sure you have SiQAD installed and the plugins compiled.

Navigate to <PATH-TO-SIQAD>/plugins/ and create new folders named clustercomplete, quicksim and quickexact.

Move the clustercomplete, quicksim and quickexact binaries along with their respective .physeng files from the mnt-siqad-plugins/build/ directory to the newly created siqad/plugins/quicksim/ and siqad/plugins/quickexact/ directories. Once completed, restart SiQAD.

ClusterComplete, QuickExact and QuickSim are now available in the engine list.

References

If you use QuickExact or QuickSim in your work, we would appreciate it if you cite the following publication:

```bibtex @inproceedings{drewniok2023quicksim, author={Drewniok, Jan and Walter, Marcel and Hang Ng, Samuel Sze and Walus, Konrad and Wille, Robert}, title={{\emph{QuickSim}: Efficient \emph{and} Accurate Physical Simulation of Silicon Dangling Bond Logic}}, year={2023}, pages={817-822}, doi={10.1109/NANO58406.2023.10231266}}

@inproceedings{drewniok2024quickexact, author={Drewniok, Jan and Walter, Marcel and Wille, Robert}, title={{The Need for Speed: Efficient Exact Simulation of Silicon Dangling Bond Logic}}, booktitle={Asia and South Pacific Design Automation Conference (ASP-DAC)}, year={2024}} ```

Owner

  • Name: Chair for Design Automation, TU Munich
  • Login: cda-tum
  • Kind: organization
  • Location: Germany

The CDA provides expertise for all main steps in the design and realization of integrated circuits, embedded systems, as well as cyber-physical systems.

GitHub Events

Total
  • Create event: 85
  • Issues event: 2
  • Release event: 2
  • Watch event: 5
  • Delete event: 63
  • Member event: 1
  • Issue comment event: 86
  • Push event: 137
  • Pull request review comment event: 115
  • Pull request review event: 32
  • Pull request event: 171
Last Year
  • Create event: 85
  • Issues event: 2
  • Release event: 2
  • Watch event: 5
  • Delete event: 63
  • Member event: 1
  • Issue comment event: 86
  • Push event: 137
  • Pull request review comment event: 115
  • Pull request review event: 32
  • Pull request event: 171

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 302
  • Total Committers: 6
  • Avg Commits per committer: 50.333
  • Development Distribution Score (DDS): 0.523
Past Year
  • Commits: 97
  • Committers: 5
  • Avg Commits per committer: 19.4
  • Development Distribution Score (DDS): 0.309
Top Committers
Name Email Commits
dependabot[bot] 4****] 144
Drewniok j****h@g****m 78
Jan Drewniok 9****k 43
Marcel Walter m****r@t****e 21
pre-commit-ci[bot] 6****] 11
Willem Lambooy 3****y 5
Committer Domains (Top 20 + Academic)
tum.de: 1

Issues and Pull Requests

Last synced: 5 months ago

All Time
  • Total issues: 2
  • Total pull requests: 271
  • Average time to close issues: N/A
  • Average time to close pull requests: 5 days
  • Total issue authors: 2
  • Total pull request authors: 6
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.99
  • Merged pull requests: 195
  • Bot issues: 0
  • Bot pull requests: 232
Past Year
  • Issues: 2
  • Pull requests: 184
  • Average time to close issues: N/A
  • Average time to close pull requests: 4 days
  • Issue authors: 2
  • Pull request authors: 6
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.88
  • Merged pull requests: 144
  • Bot issues: 0
  • Bot pull requests: 153
Top Authors
Issue Authors
  • Drewniok (1)
  • wlambooy (1)
Pull Request Authors
  • dependabot[bot] (211)
  • Drewniok (30)
  • pre-commit-ci[bot] (21)
  • wlambooy (6)
  • marcelwa (2)
  • csansoon (1)
Top Labels
Issue Labels
enhancement (1) bug (1)
Pull Request Labels
dependencies (211) submodules (191) github_actions (22) documentation (13) continuous integration (9) bug (4) versioning (4) enhancement (4) build system (1)