Skip to main content

WestQuant CUDA-Q

Domain-neutral representation search and execution intelligence for CUDA-Q and cuQuantum.

CUDA-Q executes efficiently. WestQuant decides what representation to run, where to run it, and how much quantum work is justified.

Scope

This package is intentionally industry-neutral. It contains no chemistry, life-science, finance, logistics, or other vertical-specific methods.

It provides:

  • Representation candidate search.
  • Cross-framework workload normalization.
  • CUDA-Q and cuQuantum capability discovery.
  • Backend and simulator selection.
  • Pluggable cost/quality prediction.
  • GPU/QPU resource allocation.
  • Reproducibility passports.
  • QPU-minimization planning.
  • Optional CUDA-Q execution.
  • Cross-vendor backend descriptions.

Install

pip install westquant-cudaq

Install CUDA-Q integration where NVIDIA CUDA-Q is supported:

pip install 'westquant-cudaq[cudaq]'

The planner and tests work without an NVIDIA GPU or CUDA-Q installation.

Quick start

from westquant_cudaq import (
    BackendCapability,
    Engine,
    RepresentationCandidate,
    WorkloadProfile,
    allocate_resources,
    create_passport,
    default_cuquantum_capabilities,
    minimize_qpu,
    search_representations,
)

workload = WorkloadProfile(
    workload_id="generic-qaoa-24",
    qubits=24,
    depth=40,
    one_qubit_gates=48,
    two_qubit_gates=96,
    observables=12,
    parameters=8,
    shots=1024,
    estimated_entanglement=0.3,
)

representations = [
    RepresentationCandidate("direct", workload),
    RepresentationCandidate(
        "grouped-observables",
        WorkloadProfile(**{
            **workload.__dict__,
            "observables": 5,
            "depth": 36,
        }),
        transformation_trace=("commute", "group_observables"),
    ),
]

backends = [
    BackendCapability("qpp-cpu", Engine.CPU),
    *default_cuquantum_capabilities(available=True, gpu_memory_bytes=24 * 2**30),
]

plan = search_representations(representations, backends)
allocation = allocate_resources(plan, candidate_count=100, gpu_count=1, qpu_budget_jobs=1)
minimization = minimize_qpu(workload, allocation)
passport = create_passport(plan, allocation)

print(plan.backend.name, plan.representation.name)
print(minimization.reduction_factor)
print(passport.to_json())

Policy model

HeuristicPredictor is a transparent, deterministic baseline. Production users can implement the Predictor protocol with calibrated measurements or learned models:

class MyPredictor:
    def predict(self, workload, backend):
        ...

WestQuant never executes an unverified representation candidate. Constraints for noise, gradients, qubit capacity, and memory are enforced before scoring.

CUDA-Q execution

execute_cudaq imports CUDA-Q lazily and supports kernel execution, sampling, and observation. No CUDA dependency is imported when using only planning and passport APIs.

Relationship to WestQuant Open

  • westquant-core: WQIR, RepGraph, plugin contracts, and generic search.
  • westquant-bridges: static representation bridges, including CUDA-Q text/kernel bridges.
  • westquant-orchestrator: cross-framework run normalization and merged datasets.
  • westquant-qcsc: semantic QPU minimization and workflow planning.
  • westquant-cudaq: NVIDIA CUDA-Q/cuQuantum execution intelligence and capability-aware planning.

License

Apache-2.0

Metadata

Release files for westquant-cudaq 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for westquant-cudaq 0.1.0
File Size Uploaded
westquant_cudaq-0.1.0.tar.gz 8.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for westquant-cudaq 0.1.0
File Interpreter ABI Platform
westquant_cudaq-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 16.6 kB

Release files / westquant_cudaq-0.1.0.tar.gz

Download URL westquant_cudaq-0.1.0.tar.gz
Size 8.2 kB
Tags Source
SHA-256 checksum
How to use checksums
8a4555a9192f655685b6798eae3314e0b85444160a40305f34ddf7c186d8538a
BLAKE2b-256 checksum
How to use checksums
8720bdb72321ee7e17bc223293fe0e379d77157f511fc1ac218a8c72f5f82dfb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.12

Release files / westquant_cudaq-0.1.0-py3-none-any.whl

Download URL westquant_cudaq-0.1.0-py3-none-any.whl
Size 8.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f1001ff24d96efdb05b1d87110ddd6bd6f9d7ecacd8bd547d6c04f62519b9b48
BLAKE2b-256 checksum
How to use checksums
cb019985a4be15773cbf06689978bdced28e5f9f0ea3727ac6a4ec0a6b7b5003
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page