Skip to content

Add OpenQASM 3 import support#752

Open
tzh476 wants to merge 2 commits into
QuantumSavory:masterfrom
tzh476:codex/qasm3-import
Open

Add OpenQASM 3 import support#752
tzh476 wants to merge 2 commits into
QuantumSavory:masterfrom
tzh476:codex/qasm3-import

Conversation

@tzh476

@tzh476 tzh476 commented Jun 13, 2026

Copy link
Copy Markdown

Closes #727.

Summary

  • Add an optional Quasar.jl extension exposing parse_qasm3 and read_qasm3.
  • Translate the Clifford subset of OpenQASM 3 into QuantumClifford symbolic operations, including measurement bit destinations and custom gate expansion through Quasar's visitor.
  • Document the importer, add focused tests, and tighten the DataStructures lower bound to match Quasar's compat.

Supported operations

id, x, y, z, h, s, sdg, cx, cz, swap, measure, and reset.

Validation

  • julia --project=test -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate(); using TestItemRunner, QuantumClifford; @run_package_tests filter=ti -> ti.name == "OpenQASM 3 import"'
  • julia --project=. -e 'using QuantumClifford; parse_qasm3("OPENQASM 3.0; qubit q; h q;")' verifies the weakdep hint before importing Quasar.
  • julia --project=test -e 'using QuantumClifford; import Quasar; c=parse_qasm3("OPENQASM 3.0; qubit q; h q;"); @assert c == QuantumClifford.AbstractOperation[sHadamard(1)]'
  • git diff --check

Change-Id: I8839f44f74e97b89e9d048365755b86efeef66f6
@github-actions

github-actions Bot commented Jun 13, 2026

Copy link
Copy Markdown
Contributor

Benchmark Results (Julia v1)

Time benchmarks
master 55a39b6... master / 55a39b6...
circuitsim/compactification/compact 6.73 ± 0.021 ms 6.9 ± 0.024 ms 0.975 ± 0.0045
circuitsim/compactification/no_compact 6.79 ± 0.045 ms 6.94 ± 0.045 ms 0.978 ± 0.0091
circuitsim/mctrajectories/q1001_r1 16.5 ± 0.9 ms 16.8 ± 0.3 ms 0.983 ± 0.057
circuitsim/mctrajectories/q101_r1 0.175 ± 0.011 ms 0.176 ± 0.012 ms 0.994 ± 0.092
circuitsim/mctrajectories_sumtype/q1001_r1 15.8 ± 0.97 ms 15.9 ± 0.82 ms 0.994 ± 0.08
circuitsim/mctrajectories_sumtype/q101_r1 0.122 ± 0.0029 ms 0.123 ± 0.0038 ms 0.991 ± 0.039
circuitsim/mctrajectories_union/q1001_r1 15.1 ± 1.7 ms 15.6 ± 0.66 ms 0.97 ± 0.12
circuitsim/mctrajectories_union/q101_r1 0.121 ± 0.0042 ms 0.122 ± 0.0032 ms 0.996 ± 0.043
circuitsim/pftrajectories/q1001_r1 0.0792 ± 0.036 ms 0.0801 ± 0.036 ms 0.989 ± 0.63
circuitsim/pftrajectories/q1001_r100 0.188 ± 0.012 ms 0.188 ± 0.012 ms 1 ± 0.09
circuitsim/pftrajectories/q1001_r10000 1.15 ± 0.015 ms 1.16 ± 0.011 ms 0.994 ± 0.016
circuitsim/pftrajectories/q101_r1 8.14 ± 3.1 μs 8.21 ± 3.1 μs 0.991 ± 0.53
circuitsim/pftrajectories_sumtype/q1001_r1 0.137 ± 0.0019 ms 0.166 ± 0.0014 ms 0.83 ± 0.013
circuitsim/pftrajectories_sumtype/q1001_r100 0.247 ± 0.0092 ms 0.274 ± 0.0097 ms 0.902 ± 0.046
circuitsim/pftrajectories_sumtype/q1001_r10000 1.21 ± 0.011 ms 1.24 ± 0.013 ms 0.977 ± 0.014
circuitsim/pftrajectories_sumtype/q1001_r10000_fastrow 6.17 ± 0.055 ms 6.14 ± 0.19 ms 1 ± 0.033
circuitsim/pftrajectories_sumtype/q101_r1 13.9 ± 0.05 μs 16.6 ± 0.091 μs 0.835 ± 0.0055
circuitsim/pftrajectories_union/q1001_r1 22.7 ± 0.092 μs 23.6 ± 0.07 μs 0.963 ± 0.0048
circuitsim/pftrajectories_union/q1001_r100 0.134 ± 0.00093 ms 0.134 ± 0.00079 ms 0.995 ± 0.0091
circuitsim/pftrajectories_union/q1001_r10000 1.09 ± 0.0084 ms 1.09 ± 0.019 ms 1 ± 0.019
circuitsim/pftrajectories_union/q101_r1 2.36 ± 0.03 μs 2.44 ± 0.02 μs 0.971 ± 0.015
clifford/dense/cnot250_on_dense500_destab 11.1 ± 0.047 ms 11.1 ± 0.039 ms 0.995 ± 0.0055
clifford/dense/cnot250_on_dense500_stab 5.52 ± 0.024 ms 5.58 ± 0.034 ms 0.988 ± 0.0074
clifford/dense/cnot250_on_diag500_destab 0.978 ± 0.0037 ms 0.978 ± 0.0034 ms 1 ± 0.0052
clifford/dense/cnot250_on_diag500_stab 0.569 ± 0.011 ms 0.493 ± 0.012 ms 1.15 ± 0.035
clifford/dense/cnot_on_dense500_destab 0.0451 ± 0.00041 ms 0.0446 ± 0.00041 ms 1.01 ± 0.013
clifford/dense/cnot_on_dense500_stab 21.3 ± 0.24 μs 22.7 ± 0.23 μs 0.939 ± 0.014
clifford/dense/cnot_on_diag500_destab 26.6 ± 0.6 μs 26.9 ± 0.68 μs 0.988 ± 0.034
clifford/dense/cnot_on_diag500_stab 13.5 ± 0.33 μs 13.7 ± 0.34 μs 0.984 ± 0.034
clifford/dense/dense500_on_dense500_destab 11.1 ± 0.048 ms 11.2 ± 0.046 ms 0.997 ± 0.0059
clifford/dense/dense500_on_dense500_stab 5.54 ± 0.022 ms 5.58 ± 0.025 ms 0.992 ± 0.006
clifford/dense/dense500_on_diag500_destab 0.978 ± 0.0064 ms 1.13 ± 0.0058 ms 0.863 ± 0.0072
clifford/dense/dense500_on_diag500_stab 0.569 ± 0.011 ms 0.493 ± 0.012 ms 1.15 ± 0.035
clifford/symbolic/cnot250_on_dense500_destab 1.5 ± 0.019 ms 1.51 ± 0.012 ms 0.998 ± 0.015
clifford/symbolic/cnot250_on_dense500_stab 0.753 ± 0.0083 ms 0.751 ± 0.0078 ms 1 ± 0.015
clifford/symbolic/cnot250_on_diag500_destab 1.23 ± 0.015 ms 1.23 ± 0.017 ms 0.995 ± 0.018
clifford/symbolic/cnot250_on_diag500_stab 0.625 ± 0.011 ms 0.622 ± 0.011 ms 1 ± 0.026
clifford/symbolic/cnot_on_dense500_destab 4.96 ± 0.15 μs 4.97 ± 0.091 μs 0.998 ± 0.035
clifford/symbolic/cnot_on_dense500_stab 2.5 ± 0.039 μs 2.54 ± 0.06 μs 0.984 ± 0.028
clifford/symbolic/cnot_on_diag500_destab 5.02 ± 0.15 μs 4.93 ± 0.06 μs 1.02 ± 0.033
clifford/symbolic/cnot_on_diag500_stab 2.48 ± 0.051 μs 2.48 ± 0.04 μs 1 ± 0.026
ecc/evaluate_decoder/shor_bp_comm 2.25 ± 0.071 ms 2.09 ± 0.06 ms 1.08 ± 0.046
ecc/evaluate_decoder/shor_bp_naivesyn 4.86 ± 0.15 ms 4.66 ± 0.15 ms 1.04 ± 0.045
ecc/evaluate_decoder/shor_bp_shorsyn 5.19 ± 0.11 ms 4.93 ± 0.11 ms 1.05 ± 0.033
ecc/evaluate_decoder/shor_pybp_comm 21 ± 1.1 ms 21.3 ± 0.95 ms 0.986 ± 0.069
ecc/evaluate_decoder/shor_pybp_naivesyn 0.042 ± 0.0019 s 0.0423 ± 0.002 s 0.993 ± 0.066
ecc/evaluate_decoder/shor_pybp_shorsyn 0.0429 ± 0.0023 s 0.0434 ± 0.0021 s 0.988 ± 0.072
ecc/evaluate_decoder/shor_pybposd_comm 21.2 ± 1 ms 21.2 ± 1 ms 0.998 ± 0.068
ecc/evaluate_decoder/shor_pybposd_naivesyn 0.0433 ± 0.0019 s 0.0432 ± 0.002 s 1 ± 0.064
ecc/evaluate_decoder/shor_pybposd_shorsyn 0.0433 ± 0.0022 s 0.0436 ± 0.0021 s 0.992 ± 0.069
ecc/evaluate_decoder/shor_table_comm 0.293 ± 0.031 ms 0.29 ± 0.02 ms 1.01 ± 0.13
ecc/evaluate_decoder/shor_table_naivesyn 0.975 ± 0.0067 ms 0.974 ± 0.0096 ms 1 ± 0.012
ecc/evaluate_decoder/shor_table_shorsyn 1.36 ± 0.046 ms 1.36 ± 0.034 ms 0.997 ± 0.042
ecc/evaluate_decoder/toric8_bp_comm 0.751 ± 0.041 s 0.77 ± 0.031 s 0.976 ± 0.066
ecc/evaluate_decoder/toric8_bp_naivesyn 1.49 ± 0.037 s 1.48 ± 0.047 s 1.01 ± 0.041
ecc/evaluate_decoder/toric8_bp_shorsyn 1.53 ± 0.052 s 1.49 ± 0.052 s 1.02 ± 0.05
ecc/evaluate_decoder/toric8_pybp_comm 0.0641 ± 0.0024 s 0.064 ± 0.0029 s 1 ± 0.058
ecc/evaluate_decoder/toric8_pybp_naivesyn 0.135 ± 0.006 s 0.133 ± 0.004 s 1.01 ± 0.055
ecc/evaluate_decoder/toric8_pybp_shorsyn 0.142 ± 0.0047 s 0.142 ± 0.0051 s 1 ± 0.049
ecc/evaluate_decoder/toric8_pybposd_comm 0.0644 ± 0.0026 s 0.0634 ± 0.0024 s 1.02 ± 0.056
ecc/evaluate_decoder/toric8_pybposd_naivesyn 0.134 ± 0.0046 s 0.133 ± 0.0049 s 1.01 ± 0.051
ecc/evaluate_decoder/toric8_pybposd_shorsyn 0.145 ± 0.0058 s 0.144 ± 0.0051 s 1.01 ± 0.054
ecc/evaluate_decoder/toric8_pymatch_comm 3.48 ± 0.056 ms 3.5 ± 0.071 ms 0.994 ± 0.026
ecc/evaluate_decoder/toric8_pymatch_naivesyn 13.5 ± 0.24 ms 13.4 ± 0.46 ms 1.01 ± 0.039
ecc/evaluate_decoder/toric8_pymatch_shorsyn 22.1 ± 1.1 ms 21.7 ± 1.1 ms 1.02 ± 0.07
ecc/evaluate_decoder/toric8_table_comm 3.72 ± 0.042 ms 3.7 ± 0.049 ms 1.01 ± 0.018
ecc/evaluate_decoder/toric8_table_naivesyn 13.3 ± 0.11 ms 13.4 ± 0.11 ms 0.994 ± 0.012
ecc/evaluate_decoder/toric8_table_shorsyn 21.8 ± 0.15 ms 21.9 ± 0.11 ms 0.996 ± 0.0086
pauli/mul/100 0.04 ± 0 μs 0.04 ± 0 μs 1 ± 0
pauli/mul/1000 0.05 ± 0.01 μs 0.05 ± 0.01 μs 1 ± 0.28
pauli/mul/100000 0.821 ± 0.06 μs 0.821 ± 0.051 μs 1 ± 0.096
pauli/mul/20000000 0.19 ± 0.017 ms 0.2 ± 0.019 ms 0.952 ± 0.12
stabilizer/canon/cano500 3.17 ± 0.028 ms 3.09 ± 0.038 ms 1.03 ± 0.015
stabilizer/canon/diag_cano500 0.651 ± 0.012 ms 0.651 ± 0.012 ms 1 ± 0.026
stabilizer/canon/diag_gott500 2.54 ± 0.036 ms 2.58 ± 0.05 ms 0.983 ± 0.024
stabilizer/canon/diag_rref500 0.601 ± 0.012 ms 0.603 ± 0.012 ms 0.997 ± 0.029
stabilizer/canon/gott500 5.15 ± 0.21 ms 5.04 ± 0.21 ms 1.02 ± 0.06
stabilizer/canon/md_cano500 1.19 ± 0.014 ms 1.18 ± 0.014 ms 1.01 ± 0.017
stabilizer/canon/md_rref500 1.2 ± 0.016 ms 1.18 ± 0.016 ms 1.01 ± 0.02
stabilizer/canon/rref500 3.19 ± 0.03 ms 3.12 ± 0.027 ms 1.02 ± 0.013
stabilizer/project/destabilizer 16.9 ± 0.23 μs 17 ± 0.39 μs 0.991 ± 0.026
stabilizer/project/stabilizer 9.03 ± 0.15 μs 9 ± 0.13 μs 1 ± 0.022
stabilizer/tensor/diag_pow5_20 2.59 ± 0.82 ms 2.45 ± 1 ms 1.06 ± 0.56
stabilizer/tensor/pow5_20 3.6 ± 0.29 μs 2.94 ± 0.29 μs 1.23 ± 0.16
stabilizer/trace/destabilizer 21.4 ± 0.55 μs 21.4 ± 0.36 μs 1 ± 0.031
stabilizer/trace/stabilizer 24.9 ± 0.68 μs 24.7 ± 0.46 μs 1.01 ± 0.033
time_to_load 2.03 ± 0.0095 s 2.09 ± 0.0025 s 0.972 ± 0.0047
Memory benchmarks
master 55a39b6... master / 55a39b6...
circuitsim/compactification/compact 0 allocs: 0 B 0 allocs: 0 B
circuitsim/compactification/no_compact 6 k allocs: 0.275 MB 6 k allocs: 0.275 MB 1
circuitsim/mctrajectories/q1001_r1 18 k allocs: 0.489 MB 18 k allocs: 0.489 MB 1
circuitsim/mctrajectories/q101_r1 1.82 k allocs: 0.0493 MB 1.82 k allocs: 0.0493 MB 1
circuitsim/mctrajectories_sumtype/q1001_r1 9 allocs: 0.484 kB 9 allocs: 0.484 kB 1
circuitsim/mctrajectories_sumtype/q101_r1 8 allocs: 0.25 kB 8 allocs: 0.25 kB 1
circuitsim/mctrajectories_union/q1001_r1 9 allocs: 0.484 kB 9 allocs: 0.484 kB 1
circuitsim/mctrajectories_union/q101_r1 8 allocs: 0.25 kB 8 allocs: 0.25 kB 1
circuitsim/pftrajectories/q1001_r1 2 k allocs: 0.0916 MB 2 k allocs: 0.0916 MB 1
circuitsim/pftrajectories/q1001_r100 2 k allocs: 0.0916 MB 2 k allocs: 0.0916 MB 1
circuitsim/pftrajectories/q1001_r10000 2 k allocs: 0.0916 MB 2 k allocs: 0.0916 MB 1
circuitsim/pftrajectories/q101_r1 0.201 k allocs: 9.42 kB 0.201 k allocs: 9.42 kB 1
circuitsim/pftrajectories_sumtype/q1001_r1 0 allocs: 0 B 0 allocs: 0 B
circuitsim/pftrajectories_sumtype/q1001_r100 0 allocs: 0 B 0 allocs: 0 B
circuitsim/pftrajectories_sumtype/q1001_r10000 0 allocs: 0 B 0 allocs: 0 B
circuitsim/pftrajectories_sumtype/q1001_r10000_fastrow 0 allocs: 0 B 0 allocs: 0 B
circuitsim/pftrajectories_sumtype/q101_r1 0 allocs: 0 B 0 allocs: 0 B
circuitsim/pftrajectories_union/q1001_r1 2 allocs: 0.0938 kB 2 allocs: 0.0938 kB 1
circuitsim/pftrajectories_union/q1001_r100 2 allocs: 0.0938 kB 2 allocs: 0.0938 kB 1
circuitsim/pftrajectories_union/q1001_r10000 2 allocs: 0.0938 kB 2 allocs: 0.0938 kB 1
circuitsim/pftrajectories_union/q101_r1 2 allocs: 0.0938 kB 2 allocs: 0.0938 kB 1
clifford/dense/cnot250_on_dense500_destab 0 allocs: 0 B 0 allocs: 0 B
clifford/dense/cnot250_on_dense500_stab 0 allocs: 0 B 0 allocs: 0 B
clifford/dense/cnot250_on_diag500_destab 0 allocs: 0 B 0 allocs: 0 B
clifford/dense/cnot250_on_diag500_stab 0 allocs: 0 B 0 allocs: 0 B
clifford/dense/cnot_on_dense500_destab 3 allocs: 0.0938 kB 3 allocs: 0.0938 kB 1
clifford/dense/cnot_on_dense500_stab 3 allocs: 0.0938 kB 3 allocs: 0.0938 kB 1
clifford/dense/cnot_on_diag500_destab 3 allocs: 0.0938 kB 3 allocs: 0.0938 kB 1
clifford/dense/cnot_on_diag500_stab 3 allocs: 0.0938 kB 3 allocs: 0.0938 kB 1
clifford/dense/dense500_on_dense500_destab 0 allocs: 0 B 0 allocs: 0 B
clifford/dense/dense500_on_dense500_stab 0 allocs: 0 B 0 allocs: 0 B
clifford/dense/dense500_on_diag500_destab 0 allocs: 0 B 0 allocs: 0 B
clifford/dense/dense500_on_diag500_stab 0 allocs: 0 B 0 allocs: 0 B
clifford/symbolic/cnot250_on_dense500_destab 0 allocs: 0 B 0 allocs: 0 B
clifford/symbolic/cnot250_on_dense500_stab 0 allocs: 0 B 0 allocs: 0 B
clifford/symbolic/cnot250_on_diag500_destab 0 allocs: 0 B 0 allocs: 0 B
clifford/symbolic/cnot250_on_diag500_stab 0 allocs: 0 B 0 allocs: 0 B
clifford/symbolic/cnot_on_dense500_destab 0 allocs: 0 B 0 allocs: 0 B
clifford/symbolic/cnot_on_dense500_stab 0 allocs: 0 B 0 allocs: 0 B
clifford/symbolic/cnot_on_diag500_destab 0 allocs: 0 B 0 allocs: 0 B
clifford/symbolic/cnot_on_diag500_stab 0 allocs: 0 B 0 allocs: 0 B
ecc/evaluate_decoder/shor_bp_comm 0.0397 M allocs: 1.61 MB 0.0396 M allocs: 1.61 MB 1
ecc/evaluate_decoder/shor_bp_naivesyn 0.0746 M allocs: 3.14 MB 0.075 M allocs: 3.16 MB 0.996
ecc/evaluate_decoder/shor_bp_shorsyn 0.0751 M allocs: 3.21 MB 0.0756 M allocs: 3.23 MB 0.994
ecc/evaluate_decoder/shor_pybp_comm 0.0935 M allocs: 3.29 MB 0.0935 M allocs: 3.29 MB 1
ecc/evaluate_decoder/shor_pybp_naivesyn 0.182 M allocs: 6.49 MB 0.182 M allocs: 6.49 MB 1
ecc/evaluate_decoder/shor_pybp_shorsyn 0.182 M allocs: 6.55 MB 0.182 M allocs: 6.55 MB 1
ecc/evaluate_decoder/shor_pybposd_comm 0.0935 M allocs: 3.29 MB 0.0935 M allocs: 3.29 MB 1
ecc/evaluate_decoder/shor_pybposd_naivesyn 0.182 M allocs: 6.49 MB 0.182 M allocs: 6.49 MB 1
ecc/evaluate_decoder/shor_pybposd_shorsyn 0.182 M allocs: 6.55 MB 0.182 M allocs: 6.55 MB 1
ecc/evaluate_decoder/shor_table_comm 3.98 k allocs: 0.17 MB 3.98 k allocs: 0.17 MB 1
ecc/evaluate_decoder/shor_table_naivesyn 2.8 k allocs: 0.185 MB 2.8 k allocs: 0.185 MB 1
ecc/evaluate_decoder/shor_table_shorsyn 3.28 k allocs: 0.247 MB 3.28 k allocs: 0.247 MB 1
ecc/evaluate_decoder/toric8_bp_comm 0.998 M allocs: 0.163 GB 1.03 M allocs: 0.169 GB 0.968
ecc/evaluate_decoder/toric8_bp_naivesyn 2.07 M allocs: 0.338 GB 2.1 M allocs: 0.342 GB 0.987
ecc/evaluate_decoder/toric8_bp_shorsyn 2.08 M allocs: 0.338 GB 2.08 M allocs: 0.339 GB 0.999
ecc/evaluate_decoder/toric8_pybp_comm 0.103 M allocs: 4.18 MB 0.103 M allocs: 4.18 MB 1
ecc/evaluate_decoder/toric8_pybp_naivesyn 0.218 M allocs: 9.04 MB 0.218 M allocs: 9.04 MB 1
ecc/evaluate_decoder/toric8_pybp_shorsyn 0.233 M allocs: 10.7 MB 0.233 M allocs: 10.7 MB 1
ecc/evaluate_decoder/toric8_pybposd_comm 0.103 M allocs: 4.18 MB 0.103 M allocs: 4.18 MB 1
ecc/evaluate_decoder/toric8_pybposd_naivesyn 0.218 M allocs: 9.04 MB 0.218 M allocs: 9.04 MB 1
ecc/evaluate_decoder/toric8_pybposd_shorsyn 0.233 M allocs: 10.7 MB 0.233 M allocs: 10.7 MB 1
ecc/evaluate_decoder/toric8_pymatch_comm 14 k allocs: 1.05 MB 14 k allocs: 1.05 MB 1
ecc/evaluate_decoder/toric8_pymatch_naivesyn 0.0389 M allocs: 2.71 MB 0.0389 M allocs: 2.71 MB 1
ecc/evaluate_decoder/toric8_pymatch_shorsyn 0.054 M allocs: 4.41 MB 0.054 M allocs: 4.41 MB 1
ecc/evaluate_decoder/toric8_table_comm 13.9 k allocs: 0.835 MB 13.9 k allocs: 0.835 MB 1
ecc/evaluate_decoder/toric8_table_naivesyn 0.0388 M allocs: 2.28 MB 0.0388 M allocs: 2.28 MB 1
ecc/evaluate_decoder/toric8_table_shorsyn 0.0538 M allocs: 3.98 MB 0.0538 M allocs: 3.98 MB 1
pauli/mul/100 0 allocs: 0 B 0 allocs: 0 B
pauli/mul/1000 0 allocs: 0 B 0 allocs: 0 B
pauli/mul/100000 0 allocs: 0 B 0 allocs: 0 B
pauli/mul/20000000 0 allocs: 0 B 0 allocs: 0 B
stabilizer/canon/cano500 0 allocs: 0 B 0 allocs: 0 B
stabilizer/canon/diag_cano500 0 allocs: 0 B 0 allocs: 0 B
stabilizer/canon/diag_gott500 14.5 k allocs: 0.853 MB 14.5 k allocs: 0.853 MB 1
stabilizer/canon/diag_rref500 0 allocs: 0 B 0 allocs: 0 B
stabilizer/canon/gott500 14.5 k allocs: 0.854 MB 14.5 k allocs: 0.854 MB 1
stabilizer/canon/md_cano500 0 allocs: 0 B 0 allocs: 0 B
stabilizer/canon/md_rref500 0 allocs: 0 B 0 allocs: 0 B
stabilizer/canon/rref500 0 allocs: 0 B 0 allocs: 0 B
stabilizer/project/destabilizer 5 allocs: 0.281 kB 5 allocs: 0.281 kB 1
stabilizer/project/stabilizer 2 allocs: 0.0781 kB 2 allocs: 0.0781 kB 1
stabilizer/tensor/diag_pow5_20 0.032 k allocs: 24 MB 0.032 k allocs: 24 MB 1
stabilizer/tensor/pow5_20 29 allocs: 5.48 kB 29 allocs: 5.48 kB 1
stabilizer/trace/destabilizer 2 allocs: 0.0781 kB 2 allocs: 0.0781 kB 1
stabilizer/trace/stabilizer 3 allocs: 0.109 kB 3 allocs: 0.109 kB 1
time_to_load 0.149 k allocs: 11.1 kB 0.149 k allocs: 11.1 kB 1

@tzh476

tzh476 commented Jun 14, 2026

Copy link
Copy Markdown
Author

CI status note: GitHub Actions are green on the latest head, and all published Buildkite child contexts for build #3519 are passing. The aggregate buildkite/quantumclifford-dot-jl/pr context is still pending though; the public Buildkite page shows the build as started since 2026-06-13 23:00 UTC, with jobs_failed_count: 0, steps_passed_count: 4, and steps_running_count: 1.

I do not have permission to rerun/cancel that Buildkite build from the fork side, so if the aggregate context remains stuck a maintainer-side rerun may be needed.

Change-Id: I050fdaaf35fb980405e04f617e29cac488065471
@tzh476 tzh476 force-pushed the codex/qasm3-import branch from b54b325 to 55a39b6 Compare June 14, 2026 02:29
@tzh476

tzh476 commented Jun 14, 2026

Copy link
Copy Markdown
Author

Fresh CI status on head 55a39b63: GitHub Actions are green now, including the long Julia 1.12/t=5 job.

Buildkite #3520 also has all published child contexts passing from the PR status list, including the QuantumClifford/QECCore/downstream jobs. The only remaining non-green item I can see is the aggregate buildkite/quantumclifford-dot-jl/pr context. The public Buildkite JSON still reports the build state as started with jobs_failed_count: 0 and steps_running_count: 1, so this looks like an external Buildkite aggregate/build-state tail rather than a code/test failure from the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Read OpenQASM 3 files into QuantumClifford circuits

1 participant