using zdds in the mapping of quantum circuits · zdd mapping techniques used in larger logic...
TRANSCRIPT
![Page 1: Using ZDDs in the mapping of quantum circuits · ZDD mapping techniques used in larger logic synthesis flow: 1.Decomposition of operators into one-and two-qubit primitives 2.Perform](https://reader034.vdocuments.site/reader034/viewer/2022050311/5f72e1f07ef90c40937b3851/html5/thumbnails/1.jpg)
Using ZDDs in the mapping of quantum circuitsKate Smith, Mathias Soeken, Bruno Schmitt, Giovanni De Micheli, Mitchell Thornton
Quantum Physics and Logic 2019
![Page 2: Using ZDDs in the mapping of quantum circuits · ZDD mapping techniques used in larger logic synthesis flow: 1.Decomposition of operators into one-and two-qubit primitives 2.Perform](https://reader034.vdocuments.site/reader034/viewer/2022050311/5f72e1f07ef90c40937b3851/html5/thumbnails/2.jpg)
Quantum Computing Basics• A qubit represents information as a
combination of 0 = 10 , 1 = 0
1 :
$ = % 0 + ' 1• Superposition allows an infinite number
of states of form: % ( + ' ( = 1• Measurement causes qubit state to
collapse to a basis state
• Transformations of quantum information represented by transfer matrix, )
• Qubit operations can be decomposed into *+ , , *. , , */ , rotations
$ 0 = ) $ 01Qubit(s) State QC Gate/Operation
Bloch Sphere
![Page 3: Using ZDDs in the mapping of quantum circuits · ZDD mapping techniques used in larger logic synthesis flow: 1.Decomposition of operators into one-and two-qubit primitives 2.Perform](https://reader034.vdocuments.site/reader034/viewer/2022050311/5f72e1f07ef90c40937b3851/html5/thumbnails/3.jpg)
Quantum Information Realization• Quantum Computing currently
with Noisy Intermediate-Scale Quantum (NISQ) technology
• Some platforms based on similar technology
– Ex. superconducting/ semiconductor circuits
• Different native operators and topologies
– IBM : CNOT, U &, (, )
– Rigetti : CZ, +, - , +. / ∗ 12 IBM DeviceRigetti Device
Images: https://github.com/QISKit/ibmqx-backend-information/tree/master/backends, https://arxiv.org/pdf/1712.05771.pdf
![Page 4: Using ZDDs in the mapping of quantum circuits · ZDD mapping techniques used in larger logic synthesis flow: 1.Decomposition of operators into one-and two-qubit primitives 2.Perform](https://reader034.vdocuments.site/reader034/viewer/2022050311/5f72e1f07ef90c40937b3851/html5/thumbnails/4.jpg)
Problem Definition
![Page 5: Using ZDDs in the mapping of quantum circuits · ZDD mapping techniques used in larger logic synthesis flow: 1.Decomposition of operators into one-and two-qubit primitives 2.Perform](https://reader034.vdocuments.site/reader034/viewer/2022050311/5f72e1f07ef90c40937b3851/html5/thumbnails/5.jpg)
The Mapping Problem• Generalized quantum
algorithms are not technology-ready
• Need to determine mapping from pseudo (V) → physical (P) qubits while keeping in mind:1. Number of maps available2. Limitations with respect to
gate volume and gate depth
• Approach assumes decomposition has already taken place
Simple circuit and device
![Page 6: Using ZDDs in the mapping of quantum circuits · ZDD mapping techniques used in larger logic synthesis flow: 1.Decomposition of operators into one-and two-qubit primitives 2.Perform](https://reader034.vdocuments.site/reader034/viewer/2022050311/5f72e1f07ef90c40937b3851/html5/thumbnails/6.jpg)
Zero-suppressed Decision Diagrams (ZDD)• Modified reduction rules compared to BDD
– Eliminate all nodes where 1-edge points to 0
– Share all equivalent subgraphs
– Keep nodes with two edges pointing to same node
• Ideal for representing sparse setsBDD ZDD
Representations for the set of subsets {{a,b},{a,c},{c}}
{{a,b},{a,c},{c}}→F = ab+c + a+bc + +a+bc
![Page 7: Using ZDDs in the mapping of quantum circuits · ZDD mapping techniques used in larger logic synthesis flow: 1.Decomposition of operators into one-and two-qubit primitives 2.Perform](https://reader034.vdocuments.site/reader034/viewer/2022050311/5f72e1f07ef90c40937b3851/html5/thumbnails/7.jpg)
• Union : ! ∪ # = % % ∈ ! '( % ∈ #}• Intersection : ! ∩ # = % % ∈ ! +,- % ∈ #}• Difference : !\# = % % ∈ ! +,- % ∉ #}• Join : ! ⊔ # = % ∪ 1 + ∈ ! +,- 1 ∈ #}• Meet : ! ⊓ # = % ∩ 1 + ∈ ! +,- 1 ∈ #}• Nonsupersets : ! ↘ # = % ∈ ! 1 ∈ # 4567489 % ⊉ 1 }• Choose : !; = 9878<= ; 4=859 !('5 !
Key Set Operations
![Page 8: Using ZDDs in the mapping of quantum circuits · ZDD mapping techniques used in larger logic synthesis flow: 1.Decomposition of operators into one-and two-qubit primitives 2.Perform](https://reader034.vdocuments.site/reader034/viewer/2022050311/5f72e1f07ef90c40937b3851/html5/thumbnails/8.jpg)
Example 1: Set Operations
! = 1,2,3 , 3,4 , 5 ; * = 0,2,3 , 3,4 , 6
• Union : ! ∪ * = 1,2,3 , 3,4 , 5 , 0,2,3 , 3,4 , 6• Intersection : ! ∩ * = 3,4• Difference : !\* = 1,2,3 , 5• Join : ! ⊔ * ={ 0,1,2,3 , 1,2,3,4 , 1,2,3,6 , 0,2,3,4 , 3,4 , 3,4,6 , 0,2,3,5 , 3,4,5 , 5,6 }
• Meet : ! ⊓ * = { 2,3 , 3 , 3,4 }• Nonsupersets : ! ↘ * = 1,2,3 , 5
![Page 9: Using ZDDs in the mapping of quantum circuits · ZDD mapping techniques used in larger logic synthesis flow: 1.Decomposition of operators into one-and two-qubit primitives 2.Perform](https://reader034.vdocuments.site/reader034/viewer/2022050311/5f72e1f07ef90c40937b3851/html5/thumbnails/9.jpg)
Set Operations for ZDDs during Mapping
!"##$%&' !"#(,!"#(*+ =
Simple circuit and device
- = &+, &., &/ = { ", 1 , 1, 2 , 1, 3 }5 = { 6, 7 , 7, 8 , 8, 9 , 9, 6 }
:;<! = = { =, 6 , =, 7 , =, 8 , =, 9 }>< # = { ", # , 1, # , 2, # , 3, # }
? = #'@A3< BA1$>'C = #ℎE'$2"F BA1$>'E = 3@=$2@ @3&@'G = 2$;2A$> &">@'
; Jℎ@;@ &( = {=, J}
![Page 10: Using ZDDs in the mapping of quantum circuits · ZDD mapping techniques used in larger logic synthesis flow: 1.Decomposition of operators into one-and two-qubit primitives 2.Perform](https://reader034.vdocuments.site/reader034/viewer/2022050311/5f72e1f07ef90c40937b3851/html5/thumbnails/10.jpg)
Example 2: Edges ZDD
! = { $, & , &, ' , ', ( , (, $ }A
BB
CC
D
10
![Page 11: Using ZDDs in the mapping of quantum circuits · ZDD mapping techniques used in larger logic synthesis flow: 1.Decomposition of operators into one-and two-qubit primitives 2.Perform](https://reader034.vdocuments.site/reader034/viewer/2022050311/5f72e1f07ef90c40937b3851/html5/thumbnails/11.jpg)
Example 3: Mapping Two Consecutive Gates
![Page 12: Using ZDDs in the mapping of quantum circuits · ZDD mapping techniques used in larger logic synthesis flow: 1.Decomposition of operators into one-and two-qubit primitives 2.Perform](https://reader034.vdocuments.site/reader034/viewer/2022050311/5f72e1f07ef90c40937b3851/html5/thumbnails/12.jpg)
Example 4: Calculate Layers
![Page 13: Using ZDDs in the mapping of quantum circuits · ZDD mapping techniques used in larger logic synthesis flow: 1.Decomposition of operators into one-and two-qubit primitives 2.Perform](https://reader034.vdocuments.site/reader034/viewer/2022050311/5f72e1f07ef90c40937b3851/html5/thumbnails/13.jpg)
ZDD Mapping Algorithm• Use ZDD to represent available
maps for pseudo qubits →physical qubits– Groups of gates covered by a set
of mappings are a partition
• ZDD represents layers of SWAP operations that can execute in parallel – Expand partition by selecting
optimized SWAP operations from layers
• Determine largest partition that can be connected with parallel swap operations
• Mapping from largest partition used to map circuit
! = #$%&ℎ ($)*ℎ&+ = #$%&ℎ ,-./&0 = 12%($)*ℎ&3 = 12% ,-./&4 = 56+7($)*ℎ&8 = 56+7 ,-./&
![Page 14: Using ZDDs in the mapping of quantum circuits · ZDD mapping techniques used in larger logic synthesis flow: 1.Decomposition of operators into one-and two-qubit primitives 2.Perform](https://reader034.vdocuments.site/reader034/viewer/2022050311/5f72e1f07ef90c40937b3851/html5/thumbnails/14.jpg)
![Page 15: Using ZDDs in the mapping of quantum circuits · ZDD mapping techniques used in larger logic synthesis flow: 1.Decomposition of operators into one-and two-qubit primitives 2.Perform](https://reader034.vdocuments.site/reader034/viewer/2022050311/5f72e1f07ef90c40937b3851/html5/thumbnails/15.jpg)
ZDDs in the Quantum Compilation Flow
ZDD mapping techniques used in larger logic synthesis flow:
1. Decomposition of operators into one- and two-qubit primitives
2. Perform qubit mapping with maximal partition found from ZDD mapping algorithm
3. Apply technology platform’s compilation tools for transformations/optimizations for native gate library
![Page 16: Using ZDDs in the mapping of quantum circuits · ZDD mapping techniques used in larger logic synthesis flow: 1.Decomposition of operators into one-and two-qubit primitives 2.Perform](https://reader034.vdocuments.site/reader034/viewer/2022050311/5f72e1f07ef90c40937b3851/html5/thumbnails/16.jpg)
Experimental Results
• Ring topologies for IBM/Rigetti quantum computers targeted
• Benchmarks ranged 5 to 15 qubits
• Methods assessed with:
– Gate depth
– Gate volume
– 2q gate count
• https://github.com/knsmith/zdd_mapping_experiments
![Page 17: Using ZDDs in the mapping of quantum circuits · ZDD mapping techniques used in larger logic synthesis flow: 1.Decomposition of operators into one-and two-qubit primitives 2.Perform](https://reader034.vdocuments.site/reader034/viewer/2022050311/5f72e1f07ef90c40937b3851/html5/thumbnails/17.jpg)
Thank you!