https://github.com/cda-tum/mnt-siqad-plugins
Physical Simulation Engines for Silicon Dangling Bonds
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
Keywords from Contributors
Repository
Physical Simulation Engines for Silicon Dangling Bonds
Basic Info
- Host: GitHub
- Owner: cda-tum
- License: mit
- Language: C++
- Default Branch: main
- Homepage: https://www.cda.cit.tum.de/research/nanotech/
- Size: 547 KB
Statistics
- Stars: 16
- Watchers: 2
- Forks: 0
- Open Issues: 1
- Releases: 2
Topics
Metadata Files
README.md
Munich Nanotech Toolkit (MNT) Plugins for SiQAD
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 limitandOverlapping 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 settingShow pre-simulation statisticsto1(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 countparameter 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 autodetectiondetermines whether the simulation should automatically assess and set the required base number before starting. When set to0(off), this feature is disabled. However, when set to1(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 stepsandAlpha. For gate layouts, there should be no need to adjust the default values. If no solution is found, however,Iteration stepscan be increased orAlphareduced to enable high-effort simulation. - The
Instance countparameter 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-pluginsfolder, 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 . -j4NB: 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
- Website: https://www.cda.cit.tum.de
- Repositories: 22
- Profile: https://github.com/cda-tum
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
Top Committers
| Name | 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)
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)