Table of Contents
Fetching ...

Towards a pulse-level intermediate representation for diverse quantum control systems

Jude Alnas, Aniket S. Dalvi, Kenneth R. Brown

TL;DR

This work tackles the fragmentation of pulse-level quantum control software by proposing a system-agnostic IR based on pulselib, a graph-based representation of pulses. It implements device-specific transpilation pipelines for two DDS platforms—ARTIQ AD9910 and RFSoC Octet—using a combination of visitors, transformers, and munchers to translate high-level pulse graphs into device-specific PulseData. The authors demonstrate that pulselib delivers comparable performance to fast, device-specific IRs and can outperform existing IRs by up to 4.5x, with particularly favorable scaling for parametrized workloads that leverage symbolic parameters and in-place graph updates. The results support pulselib as a practical foundation for retargetable quantum-control software, with potential extensions to broader hardware ecosystems and advanced control features. This work thus advances rapid, reusable development of pulse-level quantum programs across diverse control hardware, with clear paths toward incorporating real-time feedback and more complex control-flow constructs.

Abstract

A system-independent intermediate representation (IR) for pulse-level programming of quantum control systems is required to enable rapid development and reuse of quantum software across diverse platforms. In this work, we demonstrate the utility of pulselib as a candidate for such an IR. We implement graph-based IRs and transpilation pipelines for two unique frequency synthesizers and benchmark performance against existing IRs. Key elements of these pipelines are munchers and parametrizable pulse schedules. The former encodes target-specific constraints and allows translation of fundamentally system-agnostic pulse descriptions to arbitrary low-level representations, and the latter enables schedule reuse that produces savings in transpilation time relative to device-specific alternatives. Benchmarks reveal that pulselib provides performance comparable to fast, device-specific IRs while providing a speedup of up to 4.5x over existing IRs. For highly parametrized applications, pulselib provides favorable scaling of transpilation times with respect to the number of parameters and can exhibit speedups relative to existing IRs up to 69% larger than speedups provided by optimized, device-specific techniques.

Towards a pulse-level intermediate representation for diverse quantum control systems

TL;DR

This work tackles the fragmentation of pulse-level quantum control software by proposing a system-agnostic IR based on pulselib, a graph-based representation of pulses. It implements device-specific transpilation pipelines for two DDS platforms—ARTIQ AD9910 and RFSoC Octet—using a combination of visitors, transformers, and munchers to translate high-level pulse graphs into device-specific PulseData. The authors demonstrate that pulselib delivers comparable performance to fast, device-specific IRs and can outperform existing IRs by up to 4.5x, with particularly favorable scaling for parametrized workloads that leverage symbolic parameters and in-place graph updates. The results support pulselib as a practical foundation for retargetable quantum-control software, with potential extensions to broader hardware ecosystems and advanced control features. This work thus advances rapid, reusable development of pulse-level quantum programs across diverse control hardware, with clear paths toward incorporating real-time feedback and more complex control-flow constructs.

Abstract

A system-independent intermediate representation (IR) for pulse-level programming of quantum control systems is required to enable rapid development and reuse of quantum software across diverse platforms. In this work, we demonstrate the utility of pulselib as a candidate for such an IR. We implement graph-based IRs and transpilation pipelines for two unique frequency synthesizers and benchmark performance against existing IRs. Key elements of these pipelines are munchers and parametrizable pulse schedules. The former encodes target-specific constraints and allows translation of fundamentally system-agnostic pulse descriptions to arbitrary low-level representations, and the latter enables schedule reuse that produces savings in transpilation time relative to device-specific alternatives. Benchmarks reveal that pulselib provides performance comparable to fast, device-specific IRs while providing a speedup of up to 4.5x over existing IRs. For highly parametrized applications, pulselib provides favorable scaling of transpilation times with respect to the number of parameters and can exhibit speedups relative to existing IRs up to 69% larger than speedups provided by optimized, device-specific techniques.

Paper Structure

This paper contains 14 sections, 12 figures.

Figures (12)

  • Figure 1: (a) Pulselib pulse graph representing a piecewise-linear ramp of a 10 MHz tone. Ramp node edges labelled $c_i$ correspond to coefficients in the polynomial $y(t)=\sum_{i}c_{i} t^{i}$. (b) Sampled representation of the pulse graph in (a). Pulselib provides a built-in mechanism for sampling pulse graphs, allowing for easy visualization, debugging, and usage with compatible signal generators.
  • Figure 2: Block diagram of a DDS device. The core of a DDS consists of a phase accumulator, a sine look-up table, and a digital-to-analog converter (DAC). The phase accumulator generates a phase signal that is used to index into the sine (or cosine) look-up table (LUT) which returns the appropriate amplitude. After scaling, the DAC converts the digital output of the sine look-up table (LUT) into an analog signal.
  • Figure 3: Pipeline for transpiling high-level pulse descriptions in pulselib into low-level representations. The pipeline consists of a sequence of visitors and transformers that are applied to an input graph and ends with a muncher that outputs a low-level pulse representation if the processed graph matches the expected structure.
  • Figure 4: Template pulselib graph capturing pulses synthesizable by an AD9910 DDS. Dashed nodes and edges are optional.
  • Figure 5: Muncher structure for the AD9910 IR. The muncher matches on two possible structures: a template graph and a no-op graph consisting of a single pulselib.Zero node. If a match with the template graph is found, a second layer of munchers is applied to leaf nodes to process frequency, phase, and amplitude parameters. This layer of munchers attempts to match step functions first and then constants. The data structure emitted when the template graph is successfully matched depends on the result of the second layer of munchers.
  • ...and 7 more figures