Skip to content

Commit

Permalink
📊 Add optimization flow testcase
Browse files Browse the repository at this point in the history
  • Loading branch information
chinyi0523 committed Dec 26, 2023
1 parent add47f7 commit 50b1982
Show file tree
Hide file tree
Showing 6 changed files with 138 additions and 0 deletions.
14 changes: 14 additions & 0 deletions tests/optimization/dof/opt_lv0.dof
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
extract config --optimize-level 0
qcir read benchmark/SABRE/large/cm82a_208.qasm
convert qcir zx
zx optimize
convert zx qcir
qcir optimize
qcir print
convert qcir zx
zx adjoint
zx list
zx compose 0
zx optimize
zx test --identity
quit -f
14 changes: 14 additions & 0 deletions tests/optimization/dof/opt_lv1.dof
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
extract config --optimize-level 1
qcir read benchmark/SABRE/large/cm82a_208.qasm
convert qcir zx
zx optimize
convert zx qcir
qcir optimize
qcir print
convert qcir zx
zx adjoint
zx list
zx compose 0
zx optimize
zx test --identity
quit -f
14 changes: 14 additions & 0 deletions tests/optimization/dof/opt_lv2.dof
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
extract config --optimize-level 2
qcir read benchmark/SABRE/large/cm82a_208.qasm
convert qcir zx
zx optimize
convert zx qcir
qcir optimize
qcir print
convert qcir zx
zx adjoint
zx list
zx compose 0
zx optimize
zx test --identity
quit -f
32 changes: 32 additions & 0 deletions tests/optimization/ref/opt_lv0.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
qsyn> extract config --optimize-level 0

qsyn> qcir read benchmark/SABRE/large/cm82a_208.qasm

qsyn> convert qcir zx

qsyn> zx optimize

qsyn> convert zx qcir

qsyn> qcir optimize

qsyn> qcir print
QCir (16 qubits, 404 gates, 231 2-qubits gates, 122 T-gates, 516 depths)

qsyn> convert qcir zx

qsyn> zx adjoint

qsyn> zx list
0 cm82a_208 QC2ZX ➔ FR
★ 2 cm82a_208 QC2ZX ➔ FR ➔ ZX2QC ➔ Optimize ➔ QC2ZX

qsyn> zx compose 0

qsyn> zx optimize

qsyn> zx test --identity
The graph is an identity!

qsyn> quit -f

32 changes: 32 additions & 0 deletions tests/optimization/ref/opt_lv1.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
qsyn> extract config --optimize-level 1

qsyn> qcir read benchmark/SABRE/large/cm82a_208.qasm

qsyn> convert qcir zx

qsyn> zx optimize

qsyn> convert zx qcir

qsyn> qcir optimize

qsyn> qcir print
QCir (16 qubits, 403 gates, 227 2-qubits gates, 122 T-gates, 509 depths)

qsyn> convert qcir zx

qsyn> zx adjoint

qsyn> zx list
0 cm82a_208 QC2ZX ➔ FR
★ 2 cm82a_208 QC2ZX ➔ FR ➔ ZX2QC ➔ Optimize ➔ QC2ZX

qsyn> zx compose 0

qsyn> zx optimize

qsyn> zx test --identity
The graph is an identity!

qsyn> quit -f

32 changes: 32 additions & 0 deletions tests/optimization/ref/opt_lv2.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
qsyn> extract config --optimize-level 2

qsyn> qcir read benchmark/SABRE/large/cm82a_208.qasm

qsyn> convert qcir zx

qsyn> zx optimize

qsyn> convert zx qcir

qsyn> qcir optimize

qsyn> qcir print
QCir (16 qubits, 384 gates, 217 2-qubits gates, 122 T-gates, 477 depths)

qsyn> convert qcir zx

qsyn> zx adjoint

qsyn> zx list
0 cm82a_208 QC2ZX ➔ FR
★ 2 cm82a_208 QC2ZX ➔ FR ➔ ZX2QC ➔ Optimize ➔ QC2ZX

qsyn> zx compose 0

qsyn> zx optimize

qsyn> zx test --identity
The graph is an identity!

qsyn> quit -f

0 comments on commit 50b1982

Please sign in to comment.