thereminq-classiq
ThereminQ CLassiQ - QuantOPS : Orchestrate Qrack, Bonsai, Qimcifa and Tipsy in OpenCL, VCL and CUDA with an X WebUI
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.6%) to scientific vocabulary
Keywords
Repository
ThereminQ CLassiQ - QuantOPS : Orchestrate Qrack, Bonsai, Qimcifa and Tipsy in OpenCL, VCL and CUDA with an X WebUI
Basic Info
Statistics
- Stars: 12
- Watchers: 1
- Forks: 2
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
ThereminQ - CLassiQ
Orchestrating Qrack derivatives on OpenCL and CUDA
ThereminQ orchestrates a suite of best-of-class tools designed to control, extend and visualize data emanating to and from Quantum circuits using Qrack, Tipsy and Jupyter on CUDA and OpenCL accelerators.
- Qrack - Qbit OpenCL Hardware Emulation Stack
- Bonsai - Stellar data visualizer for QFT, Sycamore, TNN_d and SDRP validation
- Qimcifa - Quantum-inspired Monte Carlo integer factoring algorithm
Look also at the following Python enabled images - VDI with a collection of QC Jupiter notebooks - Factoring with Shors' and Qimcifa
Other tags contain - QUDA - cuQuantum with QSVM
bash
docker run --gpus all \
--privileged \
-p 6080:6080 \
--device=/dev/dri:/dev/dri \
-d twobombs/thereminq[:tag]
Images can be run independant but are also made to work with the vQbit infrastructure K8s HELM repo
Installation setup and usage scenarios can be glanced at here
Build on deploy-nvidia-docker and CUDA-CLuster
- WebVNC, CUDA 12+ & OpenCL 1.2+ with NV, AMD & Intel HW support

Initial vnc password is 00000000
- noVNC website is avaliable at port 6080
- xRDP running at port 3389 to vnc 127.0.0.1:5900
Docker: deploy an instance of ThereminQ's WebUI controller container
bash
docker run --gpus all \
--privileged \
-p 6080:6080 \
--device=/dev/dri:/dev/dri \
--mount type=bind,source=/var/log/qrack,target=/var/log/qrack \
-d twobombs/thereminq:controller
bash
docker run -ti \
--mount type=bind,source=/var/log/qrack,target=/var/log/qrack \
twobombs/thereminq bash /root/run-supreme-cpu
bash
docker run --gpus all \
--device=/dev/dri:/dev/dri \
-ti \
--mount type=bind,source=/var/log/qrack,target=/var/log/qrack twobombs/thereminq bash /root/run-cosmos-gpu1
- use
--gpus allfor NVidia-Docker hosts, in addition--privilegedand--device=/dev/dri:/dev/driwill expose all GPUs in the system, eg: AMD/Intel iGPUs
All specialized workloads are listed here

Experimental bqp=bpp stabilizer_t_nn 30+ qbit workloads
bash
docker run --gpus all \
--device=/dev/dri:/dev/dri \
-ti \
--mount type=bind,source=/var/log/qrack,target=/var/log/qrack twobombs/thereminq bash /root/run-tnn-gpu1
Quantum Inspired Qimcifa high qbit workloads - Qrackmin
bash
docker run --gpus all \
--device=/dev/dri:/dev/dri \
-d twobombs/thereminq:qimcifa
Tips for Managing high-Qubit and/or high-Node statevector workloads
- Workloads with full entanglement and/or Quantum simulations that are at or exceed 30+ Qubits
- Mixed workloads based on longer/larger/deeper circuits with partial entanglement that exceed 36+ Qubits
To prevent these workload from taking up all resources of the system it is good to take the following measures
- System memory should be at least the amount of RAM where the statevector will fit into
- From 30 qubits ( eg: QFT ) count 8GB RAM Memory (and 4 cores with
POCL) doubling every additional qubit - Start an instance with a limit for memory and/or swap. eg docker:
-m 16g --memory-swap 32g - Disable OOM killers in the kernel and/or the container orchestrator (
--oom-kill-disable) - OOM host change: add
vm.overcommit_memory = 1andvm.oom-kill = 0in/etc/sysctl.conf - Swap should be a dedicated and fast drive where possible NVMe RAID, random IO equal to the bandwith of the GPU/PCIe
Sycamore, QFT & T_NN(-d) Results on an AMD Threadripper 1920X@4.2Ghz
24 Threads with 32GB RAM, 2.5TB NVMe Swap on a 11x RAID NVME drive - Tesla K80 24GB - Tesla M40 24GB results
M40 + K80 run script
If you want to reproduce these results here are some gists to help you along
Note: it is wise to run the benchmarks program inside a main memory limited container with outflow to fast swap so that the system remains stable at intensive runs and high memory peaks - with fast swap we mean FAST NVME RAID0 swap
To run ThereminQ as a VirtualCL controller
note: create the underlying directory structure as mentioned in the VCL readme of Qrackmin
eg: ```bash docker run \ --gpus all \ --device=/dev/dri:/dev/dri \ -d \ --mount type=bind,source=/var/log/vcl,target=/var/log/vcl \ --mount type=bind,source=/var/log/qrack,target=/var/log/qrack twobombs/thereminq:vcl-controller
```
Questions / Remarks / Ideas / Experiences - In Discord
Code from the following companies and initiatives are in this container

All rights and kudos belong to their respective owners.
If (your) code resides in this container image and you don't want that please let me know.
Owner
- Name: Aryan Blaauw
- Login: twobombs
- Kind: user
- Location: Hengelo (NL)
- Website: https://discord.gg/wG3gV6zP
- Twitter: twobombs
- Repositories: 88
- Profile: https://github.com/twobombs
🧭 Teleporting 🌊 Hilbert Space 🌌 QuantOPS ⚒️ Bladerunner 🤖
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: ThereminQ
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Aryan Jacques
family-names: Blaauw
email: ablaauw@gmx.net
orcid: 'https://orcid.org/0000-0002-5657-7824'
identifiers:
- type: url
value: 'https://arxiv.org/abs/2304.14969'
repository-code: 'https://github.com/twobombs/thereminq'
url: 'https://github.com/twobombs'
repository-artifact: 'https://hub.docker.com/r/twobombs/thereminq'
abstract: >-
ThereminQ orchestrates a suite of best-of-class tools
designed to control extend and visualize data emanating
for Quantum circuits using Qrack ELK Tipsy Jupyter CUDA
and OpenCL accelerators
keywords:
- docker
- cuda
- quantum computing
- opencl
license: GPL-3.0+
version: 4.x
date-released: '2023-05-23'
GitHub Events
Total
- Watch event: 2
- Push event: 3
Last Year
- Watch event: 2
- Push event: 3
Dependencies
- twobombs/cudacluster latest build
