QuantumBench is a cross-platform benchmarking and visualization tool for quantum circuit simulators.
It enables researchers and enterprise developers to compare performance and fidelity of quantum simulations across popular frameworks like Qiskit, PennyLane, and Cirq — all from a simple and interactive web interface.
- Run benchmark tests on quantum circuits across multiple backends (Qiskit, Cirq, PennyLane)
- Robust Execution: Handles large circuits with memory safety checks (>24 qubits protected)
- Real Hardware Persistence: Easily fetch and select IBM Quantum devices without losing state
- Windows Optimized: Built-in fixes for common PennyLane DLL errors
- Visualize execution time, fidelity, and memory usage
- Python 3.9 or above
- pip package manager
-
Clone the repository:
git clone https://github.com/yourusername/quantum-bench.git cd quantum-bench -
(Optional) Create and activate a virtual environment:
python -m venv env # Windows .\env\Scripts\activate # Linux/macOS source env/bin/activate
-
Install required packages:
pip install -r requirements.txt
Run the Streamlit interface:
streamlit run main.pyOpen the URL shown in your terminal (usually http://localhost:8501) to use the app.
- Upload or Paste your QASM code (OpenQASM 2.0 supported).
- Select Backends:
- Simulators: Qiskit Aer, Cirq, PennyLane (Pure Python mode).
- Hardware: Enter your IBM Cloud CRN & API Key -> Click "Fetch" -> Select Devices.
- Click RUN BENCHMARK.
- View results in the Master Dashboard, Data Table, and Memory Matrix.
- PennyLane: Uses a custom pure-Python converter to ensure stability on all platforms (bypassing potentially broken plugins).
- Large Circuits: Local simulators are capped at 24 qubits to prevent System OOM crashes.
- Hardware Timeouts: The app waits 60s for hardware results, then reports "Queued" to avoid freezing.
Contains logic to:
Parse uploaded QASM code
Transpile it
Simulate using Qiskit's AerSimulator
Return execution time, fidelity, and statevector
Built using Streamlit
Handles:
File upload
Simulator selection
Displaying results cleanly
Deployment link :https://adwaithav-quantum-bench-main-umerpy.streamlit.app/
Contributions are welcome! Feel free to open issues or submit pull requests. Please follow the existing code style and include tests where appropriate.
Created by Adwaitha V— feel free to reach out! GitHub: https://github.com/AdwaithaV Email: adwaithav063@gmail.com
This project is licensed under the MIT License.