← Back to projects

Open Source Project

nQPU: Neural Quantum Processing Unit

A full quantum computing platform with a Rust core and native Metal GPU acceleration. Not just a simulator - a research toolkit spanning 14 quantum domains.

Robert PriceBlackweb.AIMIT Licensed
pip install nqpu[all]
465K
Lines of Rust
Core engine
395
Source Files
14 domains
12ms
20-Qubit Circuit
Metal GPU
1000+
Stabilizer Qubits
Clifford simulation

Why nQPU Exists

I wanted to explore quantum computing on my Mac. Every major quantum framework - Qiskit, Cirq, PennyLane - is locked to CUDA for GPU acceleration. If you're on Apple Silicon, you get CPU-only simulation. Slow. Frustrating.

The Problem
Apple Silicon has a 400 GB/s memory bus and a world-class GPU. Yet every quantum simulator treats it like a second-class citizen. No Metal support. No GPU path. Just slow CPU loops.
The Solution
Build a quantum computing SDK from scratch in Rust with native Metal compute shaders. Raw GPU access, no abstraction layers. Then keep building until it's a complete research platform.

How nQPU Compares

Head-to-head against every major quantum computing framework. nQPU is the only one that combines native Mac GPU acceleration with a full-stack research platform.

FeaturenQPUQiskitCirqPennyLaneosxQuantum
Core LanguageRustPython/C++Python/C++PythonC++
GPU on Mac✓ Native Metal✗✗✗✓ MLX JIT
Max Qubits (SV)30+30+30+30+25
Tensor NetworksMPS/PEPS/MERA/TTNLimited✗✓✗
Stabilizer Sim1,000+ qubits✓✗✗✗
Error Correction37 modulesBasicBasic✗✗
Drug Discovery✓✗✗✗✗
Quantum ML16 modulesLimitedLimited✓✗
Quantum Trading✓✗✗✗✗
CUDA + ROCm✓CUDA onlyCUDA onlyBoth✗
Real-time TUI3D Bloch sphere✗✗✗✗

Key Advantage: nQPU writes raw Metal compute shaders for GPU acceleration. No MLX abstraction layer, no JIT compilation overhead. Direct GPU dispatch with zero-copy unified memory access.

Platform Architecture: 14 Quantum Domains

nQPU isn't a single-purpose simulator. It's a modular research platform organized into 14 specialized domains. Each domain is a self-contained module with its own algorithms, data structures, and tests.

Core Simulation

State vectors, density matrices, 50+ quantum gates, stabilizer simulation, quantum channels, mid-circuit measurement, continuous-variable quantum, decision diagrams.

26 modules - The foundation everything else builds on
Tensor Networks

MPS, PEPS, MERA, TTN, DMRG, TEBD. Simulate 100+ qubits for shallow circuits. Contraction optimization, fermionic networks, 3D lattice simulation.

28 modules - Beyond state-vector limits
Error Correction

Surface codes, floquet codes, QLDPC, bosonic codes, holographic codes. Neural decoders (transformer, Mamba). Magic state distillation. GPU-accelerated MWPM.

37 modules - Largest QEC library in any open-source SDK
Noise & Mitigation

Device-specific noise models, Bayesian noise characterization, non-Markovian dynamics. ZNE, PEC, PNA, Pauli twirling, dynamical decoupling, Lindblad simulation.

20 modules - Realistic noise for real hardware
Algorithms

VQE (+ ADAPT, GGA, Meta variants), QAOA, QPE, Shor's algorithm, QSP/QSVT, quantum annealing, Trotter decomposition, GPU Pauli propagation.

33 modules - Every major quantum algorithm
Quantum ML

Quantum kernels, neural quantum states, quantum attention and transformers, natural gradient, reservoir computing, barren plateau analysis, JAX/PyTorch bridges.

16 modules - Where quantum meets machine learning
Chemistry & Drug Design

Molecular Hamiltonians, double factorization, CAMPS-DMRG. Drug discovery pipeline: molecular fingerprints (ECFP4/6, MACCS), ADMET prediction, Lipinski filtering, QED scoring.

6 Rust modules + Python SDK - From molecule to lead compound
GPU Backends

Native Metal compute shaders (multiple variants), CUDA, ROCm. Auto-backend selection, UMA zero-copy dispatch, thermal-aware scheduling, mixed precision, pulse control.

33 modules - The performance engine
Circuits & Compilation

Circuit optimizer, gate fusion, AI transpiler, ZX calculus, circuit cutting. QASM 2.0/3.0 parser, QIR compiler, QASM language server, parametric circuits.

24 modules - From high-level to hardware
Quantum Networking

QKD protocols (BB84, E91), metro QKD network simulation, QRNG integration, entropy extraction, NIST randomness testing, post-quantum cryptography assessment.

20 modules - Quantum-safe communication
Physics Simulations

Quantum walks, cellular automata, thermodynamics, quantum batteries, chaos theory, quantum Darwinism, topological quantum, Majorana fermions, quantum biology.

21 modules - Fundamental physics research
Applications

Quantum finance, logistics optimization, climate modeling, quantum NLP, quantum chess and poker, quantum art generation, cognitive modeling.

12 modules - Real-world problem solving
Measurement & Verification

State tomography, classical shadows, quantum Fisher information, QCVV benchmarking, layer fidelity estimation, property testing, source certification.

9 modules - Trust but verify
Infrastructure

SIMD-optimized operations, distributed MPI computing, Python FFI (PyO3), C FFI, WASM bindings, autodiff, benchmark suites, terminal UI with 3D Bloch sphere.

33 modules - The connective tissue

Metal GPU Architecture

nQPU doesn't use MLX or any abstraction layer. It writes raw Metal compute shaders and dispatches directly to Apple Silicon's GPU. This gives maximum control over memory layout, threadgroup sizing, and kernel optimization.

Circuit
QASM / DSL
Optimizer
Gate Fusion
Auto-Select
Best Backend
UMA Dispatch
Zero-Copy
Metal GPU
Compute
100x speedup
UMA Zero-Copy

CPU and GPU share the same memory on Apple Silicon. nQPU exploits this - single-qubit gates run on CPU, multi-qubit gates dispatch to GPU, with no memory copies.

Thermal Scheduling

Adaptive threadgroup sizing monitors execution time drift and scales down GPU work when thermal throttling is detected. Sustained performance without overheating.

Auto-Backend

Automatic backend selection analyzes circuit properties - Clifford fraction, magic level, qubit count - and routes to the fastest backend (state vector, MPS, stabilizer, or GPU).

Python SDK - Domain Packages

The Rust core is wrapped in a Python SDK with optional domain-specific packages. Install only what you need.

pip install nqpu[chem]
Chemistry & Drug Discovery

Molecular fingerprints (ECFP4/6, MACCS, Atom Pair), ADMET prediction, drug-likeness scoring (Lipinski, QED), similarity search (Tanimoto, Dice).

pip install nqpu[bio]
Quantum Biology

Photosynthesis simulation, enzyme tunneling rate calculations, DNA/RNA quantum encoding, quantum coherence in biological systems.

pip install nqpu[trading]
Quantum Trading Tools

Quantum volatility surfaces, regime detection, signal processing, quantum walk momentum, entropy-modulated Kelly criterion, walk-forward backtesting.

pip install nqpu[all]
Everything

All domain packages plus the core quantum simulation engine with Metal GPU acceleration. One install, full research platform.

Performance Benchmarks

Measured on Apple Silicon. GPU benchmarks use native Metal compute shaders.

OperationCPUGPU (Metal)Speedup
20-qubit random circuit1.2s12ms100x
30-qubit QFT4.5s45ms100x
1000-shot sampling0.8s8ms100x
Molecular fingerprint50ms0.5ms100x

Choosing a Backend

nQPU automatically selects the best backend for your circuit, but you can override manually.

BackendMax QubitsSpeedBest For
State Vector (CPU)~28FastGeneral circuits, exact amplitudes
State Vector (Metal GPU)30+Very FastAnything on Apple Silicon
Tensor Network (MPS)100+FastShallow circuits, low entanglement
Stabilizer1,000+Ultra FastClifford circuits, QEC simulation
CUDA30+Very FastNVIDIA GPU workstations
ROCm30+FastAMD GPU workstations

Quick Start

Get started with a Bell state in three lines. GPU acceleration is automatic on Apple Silicon.

# Create a Bell state with GPU acceleration
from nqpu import QuantumCircuit, NQPUBackend
circuit = QuantumCircuit(2)
circuit.h(0)
circuit.cnot(0, 1)
circuit.measure_all()
backend = NQPUBackend(gpu=True)
result = backend.run(circuit, shots=1000)
print(result.counts)
# {'00': 502, '11': 498}

nQPU is released under the MIT License. Free to use, modify, and distribute.

nQPU - Neural Quantum Processing Unit | Blackweb.AI | Blackweb AI