QUA

The Pulse-Level Language for Hybrid
Programming

Easily and quickly develop quantum-classical workflows

Talk to an ExpertRequest the Brochure

QUA is an intuitive pulse-level programming language used with Quantum Machines’ OPX hybrid controllers. It is the core of QM’s comprehensive hybrid development platform – which also features automated calibrations via QUAlibrate, and access to a vast library of control applications. QUA seamlessly merges quantum and classical programming. With QUA, quantum builders can easily program complex algorithms that were previously impossible, reaching milestones faster and accelerating the path to breakthrough results.

Request the Brochure

Comprehensive

QUA unifies quantum operations at the pulse level with classical resources, including Turing-complete computations and rich control flow (if/else, for, while loops and swith cahse, using real-time parameters). Unlike conventional programming models that separate quantum and classical code, QUA integrates both into a single, frictionless framework. This removes latency, optimizes performance, and enables real-time quantum-classical interaction – from simple pulse generation to the most advanced adaptive circuit execution. QUA further provides advanced upper-layer interfaces, ensuring smooth integration with industry-leading frameworks such as Qiskit, OpenQASM3 for circuit-level coding, and CUDA-Q (HPC-QC application development).

#2-point-Ramsey Real-Time Frequency Tracking
					
	def two_point_Ramsey_Tracking():
    with for_(n, 0, n < 2**any_power_of_two, n + 1):

        assign(f, f_res_corr + plus_delta)
        update_frequency("qubit", f)

        Ramsey(t_fixed)
        assign(state_1, I > ge_threshold)
        assign(
            state_1_avg,
            state_1_avg_avg + (Cast.to_fixed(state_1) >> any_power_of_two),
        )

        assign(f, f_res_corr + minus_delta)
        update_frequency("qubit", f)

        Ramsey(t_fixed)
        assign(state_2, I > ge_threshold)
        assign(
            state_2_avg,
            state_2_avg_avg + (Cast.to_fixed(state_2) >> any_power_of_two),
        )

    corr = calculate_freq_correction(state_1_avg, state_2_avg)


with program() as any_quantum_sequence:
    with for_(loops, 0, loops < loops_max, loops + 1):
        two_point_Ramsey_Tracking()
        your_advanced_sequence()					
				

Expressive

Think it, do it! With Its Python-like sentex, program protocol as easily as writing pseudocode. Describe any quantum experiment natively, from active reset to AI-based multi-qubit calibration and quantum error correction.

#2D Ramsey map
					
	def Ramsey(t):
    play('pi_half', 'qubit')
    wait(t)
    play('pi_half', 'qubit')
    align('qubit', 'resonator')
    measure('qubit', 'resonator', ..., I)


with program() as 2D_Ramsey_Map:
    with for_(n, 0, n < N_avg, n + 1):
        with for_(f, f_min, f < f_max, f + df):
            update_frequency('qubit', f)

            with for_(t, t_min, t < t_max, t + dt):
                Ramsey(t)
                active_reset('qubit')					
				

Scalable

QUA scales with your roadmap, allowing you to code a thousands of qubits as easily as a single one. No overhead, no rewriting codes – just seamless scaling by OPX controllers and updating your system configuration file. The QUA compiler will orchestrate all controllers as one, handling synchronization and data sharing.

#Multi-qubit Active Reset and Ramsey
					
	for qubit_n in qubits:
    measure(qubit_n, 'resonator', ..., I)
    play('pi', qubit_n, condition=I > threshold)

    with for_(t, t_min, t < t_max, t + dt):
        Ramsey(qubit_n, t)

align()					
				

Open Source

QUA is an open-source software. It is used by thousands of users in academia, national labs, and commercial companies worldwide, for quantum research and development. Explore QUA’s capabilities and get started with real-world examples on GitHub.

QUA in Github

qua

What’s Possible with QUA?

  • Quantum Sensing
  • Quantum Technologies Research & Development
  • Quantum Communication
  • Quantum Computing
  • Hybrid Quantum – Classical Algorithmics
  • Quantum Computing
  • Quantum Firmware Development

Benefits

Quantum Machines’ Customer Success team works as an extension of your lab or engineering group — from onboarding to advanced experiment design.

Programming icon

Hybrid Programming

QUA unifies quantum operations at the pulse level with classical resources, including Turing-complete computations and rich control flow.

Code icon

Executed in Real Time

Pulse Processing Unit (PPU) executes QUA programs in quantum coherence time cale, ensuring optimal performance with precise synchronization and minimal latency.

Source icon

Open Source

Researchers and developers from hundreds of academic labs and commercial companies around the world share code, reduce development time, and make the new possible.

Optimal icon

Parametric Pulse Programming

No long upload times and only minimal memory usage. Pulses are generated and manipulated on the fly.

Library icon

A Vast Library of control applications

From characterization to QEC and real-time Bayesian estimation, numerus out-of-the-box workflows.
All Common Qubit Modalities
Superconducting, quantum dots, defect centers and 

Record icon

All Common Qubit Modalities

Superconducting, quantum dots, defect centers and optically addressable qubits.

MIT
EeroQ
Weizmann Institute of Science
University of New South Wales
University of Notre Dame
Seoul National University
eth

The QUA Python interface is great, everything you want to do is just three intuitive lines of code. The OPX is one of the only things in the lab that is working exactly as it should.

Josiah Sinclair

Dr. Josiah Sinclair

University of Wisconsin-Madison, Carl J. and Brynn B. Anderson Assistant Professor in Physics

Within only two days of unboxing the OPX and Octave, we were running randomized benchmarking, active reset, state tomography, and all the routine qubit control protocols. This was simply incredible. Furthermore, the easy-to-use QUA language allowed us to implement our pulse sequences in minutes. As a startup, speed of progress is a crucial element of our success. With QM, we are confident to accelerate our development and achieve results in days instead of months or even years

Nick Farina

Nick Farina

CEO

Writing our experiments [with QUA] is easy and intuitive, and we can now focus on the physics instead. rn In two days we had brought up our (6-q) chip completely, calibrated all parameters, and wrote the pulse sequence of our final experiment.

Principal Investigator

Replacing 3 devices with one synchronized, orchestrated machine tremendously simplified lab workflow. Now our pulse sequences run in a fraction of the time of any other device combo. Plus, we can “talk” to the FPGA in human-speak, to run real-time calculations that were too complicated before! Along with the yoga-level

Prof. Amit Finkler

Prof. Amit Finkler

Professor

Diraq is delighted to partner with Quantum Machines, and credits their OPX control system, with its real-time capabilities, as instrumental in achieving the results outlined in our research. The ease of programming sequences in QUA significantly streamlined the experimental process

Andrew Dzurak

Prof. Andrew Dzurak

Professor / CEO, Diraq

OPX has been a powerful enabler in our lab, helping us quickly characterize the performance of our recently discovered qubits. The hardware removes time wasted in uploading and waiting during pulse programming. QUA has substantially reduced the complexity of writing quantum protocols, allowing us to code dynamical decoupling and RB sequences in just a few lines. It remarkably saves our time in optimizing the processes and visualizing the results, allowing us to focus more on understanding the physics of our new qubits.

Dafei Jin

Prof. Dafei Jin

Professor

The OPX + QUA platform completely changed the way we control semiconductor quantum dot spin qubits. Key qubit control schemes we previously developed individually using time-consuming hardware description languages are now implemented in one box.

Dohun Kim

Prof. Dohun Kim

Professor

Using the OPX has been simplifying our work in many respects due to the intuitive implementation of sequences within QUA. In addition, the support by QM helped us debugging possible issues with swift responses and an easy and informal way of getting in touch over Discord.

Yiwen Chu

Prof. Yiwen Chu

Professor