Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm,...
Transcript of Tools Requirements and Progress Delivering to Them€¦ · – Tools: dw, ThreeQ, edif2qmasm/qmasm,...
Tools Requirements and Progress Delivering to ThemSteve Reinhardt, Mike Booth, Alex Condello, Denny Dahl, Adam Douglass, and Murray Thom
©2017D-WaveSystemsInc.AllRightsReserved 2
Agenda
• Toolsgoals• Toolsrequirements• DeliveriestorequirementssincelastQubits• Qubits2022toolscapabilities
©2017D-WaveSystemsInc.AllRightsReserved 3
Tools Goals
• Enableapplicationsdevelopment• EnablemoresmartpeopletouseD-Wavesystems• Foster/collaborateinQAtoolsecosystem
©2017D-WaveSystemsInc.AllRightsReserved 4
Tools Goals
•Enableapplicationsdevelopment• EnablemoresmartpeopletouseD-Wavesystems• Foster/collaborateinQAtoolsecosystem
©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
©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
©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
©2017D-WaveSystemsInc.AllRightsReserved 8
dw
• Command-linetoolprimarilyintendedfortraining• [New]BuildaQUBOproblemandsolveitviaqbsolv• [New]Buildaconstraintproblem,“compile”it,andsolveitviaqbsolv• [New]Libraryversionofcorefunctions,usedbyqbsolvforfasterexecution
©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
©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>)
©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
©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
©2017D-WaveSystemsInc.AllRightsReserved 13
<add slide about emerging tools community?>
©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
©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
©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)
©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
©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
©2017D-WaveSystemsInc.AllRightsReserved 19
Summary
• WehaveestablishedQUBO/qbsolvasaguidepostforappsandhigher-leveltooldevelopment
• Wehaveestablishedcorepiecesofanopen-sourcesetoftools• Needtomakeqbsolv(andotherdecomposingsolvers)runmuchmoreefficiently• Needtoconnectexistinghigher-levellanguages/interfacestoqbsolvandsimilar• Absolutetimesneedgreaterfocus• Lotsofbrightmindsworkingonthis;D-Wavecan’tdoitalone;collaborationsessential