Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bbn-q/qgl.jl
A performance orientated QGL compiler.
https://github.com/bbn-q/qgl.jl
julia-language quantum-computing
Last synced: about 2 months ago
JSON representation
A performance orientated QGL compiler.
- Host: GitHub
- URL: https://github.com/bbn-q/qgl.jl
- Owner: BBN-Q
- License: apache-2.0
- Created: 2016-12-20T14:47:00.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2023-12-19T14:44:37.000Z (about 1 year ago)
- Last Synced: 2024-06-25T02:33:07.990Z (6 months ago)
- Topics: julia-language, quantum-computing
- Language: Julia
- Size: 134 KB
- Stars: 12
- Watchers: 11
- Forks: 5
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# QGL.jl
[![Build Status](https://travis-ci.org/BBN-Q/QGL.jl.svg?branch=master)](https://travis-ci.org/BBN-Q/QGL.jl)
A performance orientated [QGL](https://github.com/BBN-Q/QGL) compiler.
## Installation
The package is not yet registered with METADATA.jl and so must be cloned with
```julia
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](https://github.com/BBN-Q/QGL/issues/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
julia> using QGL
julia> q1 = Qubit("q1")
q1julia> include("test/benchmark.jl")
create_1Q_GST_seqsjulia> 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.