Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm,...

19
Tools Requirements and Progress Delivering to Them Steve Reinhardt, Mike Booth, Alex Condello, Denny Dahl, Adam Douglass, and Murray Thom

Transcript of Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm,...

Page 1: Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm, ToQ , DWave_NetworkX – Apps: graph partitioning and community detection (LANL),

Tools Requirements and Progress Delivering to ThemSteve Reinhardt, Mike Booth, Alex Condello, Denny Dahl, Adam Douglass, and Murray Thom

Page 2: Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm, ToQ , DWave_NetworkX – Apps: graph partitioning and community detection (LANL),

©2017D-WaveSystemsInc.AllRightsReserved 2

Agenda

• Toolsgoals• Toolsrequirements• DeliveriestorequirementssincelastQubits• Qubits2022toolscapabilities

Page 3: Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm, ToQ , DWave_NetworkX – Apps: graph partitioning and community detection (LANL),

©2017D-WaveSystemsInc.AllRightsReserved 3

Tools Goals

• Enableapplicationsdevelopment• EnablemoresmartpeopletouseD-Wavesystems• Foster/collaborateinQAtoolsecosystem

Page 4: Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm, ToQ , DWave_NetworkX – Apps: graph partitioning and community detection (LANL),

©2017D-WaveSystemsInc.AllRightsReserved 4

Tools Goals

•Enableapplicationsdevelopment• EnablemoresmartpeopletouseD-Wavesystems• Foster/collaborateinQAtoolsecosystem

Page 5: Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm, ToQ , DWave_NetworkX – Apps: graph partitioning and community detection (LANL),

©2017D-WaveSystemsInc.AllRightsReserved 5

INTERMEDIATEREPRESENTATIONS

TARGET SYSTEM

TRANSLATORSQSageOptimization

ToQ

Sampling,SAT,ML

?l l l

QUANTUM MACHINEINSTRUCTIONQMI

APPLICATIONS

objectAPI

implementation

SAPI/dw /Pythonmicroclient

QUBOqbsolv

D-Wavesystems

LogicgatesLANLQMASM

Graph1QBitQDK,

DWave_NetworkX

- QCWarePlatform- QxLib- ThreeQ- BQP{JSON,SOLVERS}- edif2qmasm- XACC

ConstraintSatisfaction

Tools Architecture Fall 2017

Page 6: Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm, ToQ , DWave_NetworkX – Apps: graph partitioning and community detection (LANL),

©2017D-WaveSystemsInc.AllRightsReserved 6

One View of Tools Requirements

• Performance– Quantumadvantageinthemicro

(ignoringsystemoverheads)

– Quantumadvantageend-to-end

• Usability– Requiresappdevelopertomapto

machine-specificdetails

– Requiresappdevelopertomaptosystemform(e.g.,QUBO)butnotmachinedetails

– Doesnotrequireappdevelopertomaptosystemform

Performance

Usability

μQadv e2eQadv

machinedetails

machineform

otherforms

Today

Page 7: Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm, ToQ , DWave_NetworkX – Apps: graph partitioning and community detection (LANL),

©2017D-WaveSystemsInc.AllRightsReserved 7

Tools Progress Since Qubits 2016

• Performance– Quantumadvantageinthemicro

(ignoringsystemoverheads)

– Quantumadvantageend-to-end

• Usability– Requiresappdevelopertomapto

machine-specificdetails

– Requiresappdevelopertomaptosystemform(e.g.,Ising model,QUBO)

– Doesnotrequireappdevelopertomaptosystemform

Performance

Usability

μQadv e2eQadv

machinedetails

machineform

otherforms

qbsolvPythonmicroclient

Dwave_NetworkX

RBCembedding

Page 8: Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm, ToQ , DWave_NetworkX – Apps: graph partitioning and community detection (LANL),

©2017D-WaveSystemsInc.AllRightsReserved 8

dw

• Command-linetoolprimarilyintendedfortraining• [New]BuildaQUBOproblemandsolveitviaqbsolv• [New]Buildaconstraintproblem,“compile”it,andsolveitviaqbsolv• [New]Libraryversionofcorefunctions,usedbyqbsolvforfasterexecution

Page 9: Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm, ToQ , DWave_NetworkX – Apps: graph partitioning and community detection (LANL),

©2017D-WaveSystemsInc.AllRightsReserved 9

Python microclient

• SolverAPI(SAPI)clientlibrariesareclosedsource• Havingopen-sourceprojectsdependonclosedsourcepackagesisdifficult• Pythonmicroclient implementsaminimalsetofSAPIclientfunctionalityandisopen-source– Establishconnection,discoversolvers,submitQMIs,getreturn/status

– Notyetembeddingorpost-processing

• Recentlyopen-sourced– github.com/dwavesystems/dwave_micro_client

Page 10: Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm, ToQ , DWave_NetworkX – Apps: graph partitioning and community detection (LANL),

©2017D-WaveSystemsInc.AllRightsReserved 10

qbsolv

• Hybridclassical/quantumSWsolvinganarbitraryQUBObydecomposingintochunkssuitableforsolutiononD-Wavesystem,combiningchunksolutions,anditerating

• Performance:classicalisstateoftheart;quantumisslower• Open-sourcedonJan10;littlecodecontributedsofarbynon-D-Wavepeople– github.com/dwavesystems/qbsolv forcodeandtechnicalreport

• ActivecollaborationwithFredGlover,GaryKochenberger,etal.onbetteralgorithms• Alternatedecompositionalgorithm(pathrelinking)releasedinqOp2.4(May)• D-WaveexecutionspeedimprovementsandPythoninterfacereleasedinqOp2.5(Sep)• Manytoolsandapplicationeffortsuseqbsolv– Tools:dw,ThreeQ,edif2qmasm/qmasm,ToQ,DWave_NetworkX– Apps:graphpartitioningandcommunitydetection(LANL),trafficflowoptimization(VW),terroristnetwork

formation(LANL),refineryscheduling(UCompostella),clusteranalysis(BoozAllen),nonnegative/binarymatrixfactorization(LANL),multiplesequencealignment(<undisclosed>)

Page 11: Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm, ToQ , DWave_NetworkX – Apps: graph partitioning and community detection (LANL),

©2017D-WaveSystemsInc.AllRightsReserved 11

DWave_NetworkX

• NetworkX isagraph-analyticpackagedevelopedatLANL.• Manycommongraphalgorithms(maximumindependentset,maxcut,…)areimplemented

• DWave_NetworkX re-implementssomeofthosealgorithmsforD-Waveexecution– Minimumvertexcoloring,minvertexcover,eliminationordering,maximumindependentset,maximal

matching,maxcut,signedsocialnetwork

• Alsoaddssomeusefulgraph-visualizationfunctionsforChimera-basedgraphs• Recentlyopen-sourced– github.com/dwavesystems/dwave_networkx

Page 12: Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm, ToQ , DWave_NetworkX – Apps: graph partitioning and community detection (LANL),

©2017D-WaveSystemsInc.AllRightsReserved 12

RBC-based Embedding

• Qbsolvneedsafast,space-efficientembedderforchunksitcreates• RBC==recursive-bisectionconnectivity,ametricthatmeasuresgraphdensitywithanotionofdistance

• Idea:Generatenumerouspre-embeddings;matchproblemgraphwithpre-embedding(s)onthefly,usingRBCtoacceleratefailure

• Optimizations:re-orderpre-embeddings bypriorsuccess,andusek-core-degeneracyofproblemgraphtopredictandsoavoidfailuretoembed

• Embeds60-65-variablegraphsonD-Wave2X™(~1.4Xmorevariablesthancliquepreviouslyused)inanaverageof20-140ms,dependingonproblemgraph

• Underconsiderationforpossibleopen-sourcerelease

Page 13: Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm, ToQ , DWave_NetworkX – Apps: graph partitioning and community detection (LANL),

©2017D-WaveSystemsInc.AllRightsReserved 13

<add slide about emerging tools community?>

Page 14: Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm, ToQ , DWave_NetworkX – Apps: graph partitioning and community detection (LANL),

©2017D-WaveSystemsInc.AllRightsReserved 14

© 2016 D-Wave Systems Inc. All Rights Reserved | 17

ORNLQUELLE

D-Wave Software Environment – Fall 2017

INTERMEDIATE

REPRESENTATIONS

TARGET SYSTEM

TRANSLATORSQSAGE

OptimizationConstraint

Satisfaction

ToQ

SamplingSAT, ML

?lll

QUANTUM MACHINE

INSTRUCTIONQMI

APPLICATIONS

PRODUCT PROTOTYPE CONCEPT

objectAPI

implementation

SAPI / dw

QUBOqbsolv

D-Wave systems

Logic gatesLANL QASM

Graph1QBit QDK QUBO

executor

Constraint-sat?Z3, CVC4, CUDD?

SMT-LIBv2

MiniZinc,Cryptol

MyroadmapslidefromQubits2016

Page 15: Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm, ToQ , DWave_NetworkX – Apps: graph partitioning and community detection (LANL),

©2017D-WaveSystemsInc.AllRightsReserved 15

Software Requirements for 2022

• Hardwaremustberadicallyfaster• Currenttoolsneedtodeliverhardwareperformancemuchmoreeffectively– NeedmuchlowerQMIlatency

– Needmuchfasterandreasonablyefficientembedding

– NeedQMIschedulingthatdeliversquantumadvantage,onceattained,to1user(then3,then10,…)

• ToolsneedtomaparbitraryQUBOstohardwaremuchmoreeffectively– Decompositionandclampingalgorithms,fasterexecution,betteruseofsampling

• Toolsneedtoconnecthigher-levelinterfacestoQUBOexecution– QUBOisaclassicalcomputation

– Appdevelopersuseexistinglanguages/interfaces(andsolvers)forsolvingQUBOproblems

Page 16: Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm, ToQ , DWave_NetworkX – Apps: graph partitioning and community detection (LANL),

©2017D-WaveSystemsInc.AllRightsReserved 16

Workinclassicalunits

Totalannealtime(ms)

Narrowperfratio

TotalQMIoverhead(ms)

End-to-endperformanceratio

Performancelossduetooverhead(X)

5 5 1 595 0.01 120

5,000 5 1000 595 8.33 120

5,000,000 5 1000000 595 8,333.33 120

5,000 5 1000 195 25.00 40

5,000,000 5 1000000 195 25,000.00 40

5,000 5 1000 45 100.00 10

5,000,000 5 1000000 45 100,000.00 10

5,000 5 1000 10 333.33 3

5,000,000 5 1000000 10 333,333.33 3

Need for Much Lower QMI Overhead/Latency

• Fromasimilarargument,embedding(evenwithmorequbits)mustexecuteinO(10ms)

Page 17: Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm, ToQ , DWave_NetworkX – Apps: graph partitioning and community detection (LANL),

©2017D-WaveSystemsInc.AllRightsReserved 17

Cause for Optimism

• Graphcoloring• Set-weightedcovering• Topologicalsort• Graphcoloring• Minimalvertexcovering• Maximumweightedpathcover• Multiplegraphpartitioning

CodegenerationRegistersufficiencyInstructionschedulingRegisterallocation,coalescing,minimizingspill,andreuseGlobalreferenceallocationArrayunificationDistributedmemorylayout

: NP-hard Problems Solved in Modern Compilers

Page 18: Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm, ToQ , DWave_NetworkX – Apps: graph partitioning and community detection (LANL),

©2017D-WaveSystemsInc.AllRightsReserved 18

Cause for Optimism: We Learn

Prob

abilityof

Embe

ddingSuccess

• DuringRBC-embeddingdevelopment,stuckat~1.2sforaverageembeddingtime

• Timeisdominatedbyfailures,whichsearchmanypre-embeddings.Wanttoidentifyquicklyproblemgraphsthatarelikelytofail

• TimothyGoodrichsuggestedk-coredegeneracy,whichpredictssuccess/failurewell

• Withk-core-degeneracy,averagetimeshrinksto20-140ms

Page 19: Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm, ToQ , DWave_NetworkX – Apps: graph partitioning and community detection (LANL),

©2017D-WaveSystemsInc.AllRightsReserved 19

Summary

• WehaveestablishedQUBO/qbsolvasaguidepostforappsandhigher-leveltooldevelopment

• Wehaveestablishedcorepiecesofanopen-sourcesetoftools• Needtomakeqbsolv(andotherdecomposingsolvers)runmuchmoreefficiently• Needtoconnectexistinghigher-levellanguages/interfacestoqbsolvandsimilar• Absolutetimesneedgreaterfocus• Lotsofbrightmindsworkingonthis;D-Wavecan’tdoitalone;collaborationsessential