Skip to content

Compilers and languages

QGL.jl

Maintained by BBN-Q

The package is not yet registered with METADATA.jl and so must be cloned with

JuliaApache-2.0
QGL.jl illustration

Resource snapshot

Category

Compilers and languages

Stars

13

Last pushed

Dec 19, 2023Updated 2y ago

Open issues

7

What it is

QGL.jl is maintained by BBN-Q and sits in the Benchmarks and analysis lane of the open-source quantum map.

The package is not yet registered with METADATA.jl and so must be cloned with

Last verified by Qtangl generator on May 27, 2026

Who it's for

Researchers and evaluators comparing toolchains, algorithms, hardware assumptions, or performance tradeoffs.

What you can build or learn

  • Learn what this project measures and why it matters.
  • Compare benchmarking assumptions instead of taking headline claims at face value.
  • Use the resource to evaluate ecosystems more critically.

License

Apache-2.0

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.

~202 words · about 1 min readOpen on GitHub

QGL.jl

Build Status

A performance orientated QGL compiler.

Installation

The package is not yet registered with METADATA.jl and so must be cloned with

Pkg.clone("https://github.com/BBN-Q/QGL.jl.git")

Benchmarks

Preliminary benchmarks show speed-ups for Python QGL of ~25-30X.

In the absence of proper benchmarking and regression testing we use the 1 qubit GST sequences from QGL issue #69 and the sequence creation script in test/benchmark.jl. With q1 having 20ns pulses and 100MHz sidebanding frequency and at commit 8fbbee6. Since it takes 5-6 seconds to compile and the default Benchmarking.jl times out with a single run. There is some variation so it is worth running a few trials.

julia> using QGL
julia> q1 = Qubit("q1")
q1

julia> include("test/benchmark.jl")
create_1Q_GST_seqs

julia> seqs = create_1Q_GST_seqs("/home/cryan/Downloads/sequence_numbers.csv", q1);

julia> using BenchmarkTools
julia> t = @benchmark compile_to_hardware(seqs, "silly") samples=5 seconds=60
BenchmarkTools.Trial:
  memory estimate:  1.56 gb
  allocs estimate:  66356642
  --------------
  minimum time:     6.685 s (5.09% GC)
  median time:      7.104 s (5.14% GC)
  mean time:        7.091 s (5.26% GC)
  maximum time:     7.373 s (5.65% GC)
  --------------
  samples:          5
  evals/sample:     1
  time tolerance:   5.00%
  memory tolerance: 1.00%

License

Apache License v2.0

Funding

This work was funded in part by the Army Research Office under contract W911NF-14-C-0048.

Read on GitHub

Activity

Latest release

—

Watchers

8

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