MNT Bench is a field-coupled nanocomputing circuit benchmark suite for multiple gate libraries and clocking schemes.
MNT Bench is part of the Munich Nanotech Toolkit (MNT) developed by the Chair for Design Automation at the Technical University of Munich and is hosted at https://www.cda.cit.tum.de/mntbench/.
This documentation explains how to use MNT Bench to filter and download benchmarks.
So far, the functions from the following benchmark sets are implemented and provided:
So far, MNT Bench supports the following native gate-sets:
- ONE (for QCA) gate set: [AND, OR, NOT, BUF]
- Bestagon (for SiDB) gate set: [AND, NAND, OR, NOR, XOR, XNOR, NOT, BUF]
Most of the layouts are available for any of the following clocking schemes:
2DDWave | ESR |
---|---|
USE | RES |
---|---|
Row |
---|
- src/mnt/: main source directory
- bench: Directory for the webpage (which can be started locally and is also hosted at https://www.cda.cit.tum.de/mntbench/)
- tests: Directory for the tests for MNT Bench
There are three ways how to use this benchmark suite:
- Via the webpage hosted at https://www.cda.cit.tum.de/mntbench/
- Via the pip package
mnt.bench
- Directly via this repository
Since the first way is rather self-explanatory, the other two ways are explained in more detail in the following.
MNT Bench is available via PyPI
(venv) $ pip install mnt.bench
Additionally, this python package includes the same webserver used for the hosting of the MNT Bench webpage.
After the mnt.bench
Python package is installed via
(venv) $ pip install mnt.bench
the MNT Bench Viewer can be started from the terminal via
(venv) $ mnt.bench
This first searches for the most recent version of the benchmark files on GitHub and offers to download them. Afterwards, the webserver is started locally.
For that, the repository must be cloned and installed:
git clone https://github.com/cda-tum/mnt-bench.git
cd mnt-bench
pip install .
Afterwards, the package can be used as described above.