Skip to content

Compilers and languages

qmasm

Maintained by lanl

Quantum macro assembler for D-Wave systems

PythonBSD-3-Clause
qmasm illustration

Resource snapshot

Category

Compilers and languages

Stars

341

Last pushed

Feb 28, 2021Updated 5y ago

Open issues

0

What it is

qmasm is maintained by lanl and sits in the Compilers and languages lane of the open-source quantum map.

Quantum macro assembler for D-Wave systems It commonly appears alongside dwavesystems-dwave-ocean-sdk, dwavesystems-dimod in example workflows.

Last verified by Qtangl generator on May 27, 2026

Who it's for

Developers who want to understand the representations and compilers that sit between high-level code and runnable circuits.

What you can build or learn

  • Compare IRs, DSLs, transpilers, and compiler assumptions across ecosystems.
  • Understand how high-level code becomes something a backend can execute.
  • Spot tools that matter when interoperability and compilation quality are important.

Plays well with

License

BSD-3-Clause

SPDX identifier detected from the repository metadata or license files.

Repository README

Preview from the project README.

Rendered as Markdown inside a scrollable preview. Long READMEs stay contained; expand or open on GitHub for the full document.

~298 words · about 1 min readOpen on GitHub

QMASM: A Quantum Macro Assembler

Build Status PyPI version

Description

QMASM fills a gap in the software ecosystem for D-Wave's adiabatic quantum computers by shielding the programmer from having to know system-specific hardware details while still enabling programs to be expressed at a fairly low level of abstraction. It is therefore analogous to a conventional macro assembler and can be used in much the same way: as a target either for programmers who want a great deal of control over the hardware or for compilers that implement higher-level languages.

N.B. This tool used to be called "QASM" but was renamed to avoid confusion with MIT's QASM, which is used to describe quantum circuits (a different model of quantum computation from what the D-Wave uses) and the IBM Quantum Experience's QASM (now OpenQASM) language, also used for describing quantum circuits.

Installation

QMASM is written in Python. The latest release can be downloaded and installed from PyPI via

pip install qmasm

Alternatively, QMASM can be installed manually from GitHub using the standard Setuptools installation mechanisms. For example, use

python setup.py install

to install QMASM in the default location and

python setup.py install --prefix=/my/install/directory

to install elsewhere.

Documentation

Documentation for QMASM can be found on the QMASM wiki.

QMASM (then known as QASM) is discussed in the following publication:

Scott Pakin. "A Quantum Macro Assembler". In Proceedings of the 20th Annual IEEE High Performance Extreme Computing Conference (HPEC 2016), Waltham, Massachusetts, USA, 13–15 September 2016. DOI: 10.1109/HPEC.2016.7761637.

License

QMASM is provided under a BSD-ish license with a "modifications must be indicated" clause. See the LICENSE file for the full text.

This package is part of the Hybrid Quantum-Classical Computing suite, known internally as LA-CC-16-032.

Author

Scott Pakin, pakin@lanl.gov

Read on GitHub

Activity

Latest release

—

Watchers

35

Python support

—

Learn digest

Get monthly updates when library entries change.

Monthly digest: new library entries, updated flagships, and one editorial pick.

Related resources

Keep exploring nearby tools.

NVIDIA

cuda-quantum

C++ and Python support for the CUDA Quantum programming model for heterogeneous quantum-classical workflows

C++Apache-2.0Flagship

1,048 stars · Updated 3mo ago

QISKit

openqasm

Quantum assembly language for extended quantum circuits

PythonApache-2.0

1,468 stars · Updated 3mo ago

Quantomatic

pyzx

Python library for quantum circuit rewriting and optimisation using the ZX-calculus

OpenQASMApache-2.0Flagship

524 stars · Updated 3mo ago

QISKit

qiskit

Qiskit is an open-source SDK for working with quantum computers at the level of extended quantum circuits, operators, and primitives.

PythonApache-2.0FlagshipQtangl relevant

7,412 stars · Updated 3mo ago

Microsoft

QuantumKatas

Tutorials and programming exercises for learning Q# and quantum computing

Jupyter NotebookMITFlagshipArchive

4,862 stars · Updated 2y ago

CQCL

tket

Source code for the TKET quantum compiler, Python bindings and utilities

C++Apache-2.0FlagshipQtangl relevant

308 stars · Updated 3mo ago