To best understand what Zapata’s Orquestra platform for quantum-enabled workflows does, we recommend you start by looking at the second definition of the word “orchestrate” shown above. Orquestra is not just another programming language used to write programs and run on a specific quantum platform and it is not intended to replace the existing hardware or software platforms like Qiskit, Cirq, Pyquil and the others. Orquestra’s purpose is to stitch the various hardware and software elements together and direct them so that different pieces can work together to provide a capability that can more easily and flexibly create an application for an end user.
Orquestra is hardware agnostic and currently supports submitting jobs to quantum hardware and quantum circuit simulation platforms from IBM, Rigetti, Honeywell, Microsoft, Atos and various classical computers. Other quantum platform suppliers will be added and the company expects to add support in the near future for quantum annealers, photonic quantum computers, ion trap quantum computers, and dedicated classical hardware. As part of this capability Orquestra will be able to translate quantum programs to the necessary backends, utilize both external and internal software that can optimize the programs, and submit the jobs to the quantum providers.
But Orquestra is software agnostic too. It can bring in programs and algorithms that are written in multiple quantum programming languages including Qiskit, Q#, Pyquil, Pennylane as well as open source libraries like OpenFermion to perform various algorithms. Orquestra can mix and match multiple pieces of software so, for example, a user can write one part of their algorithm using Qiskit and a different part of their algorithm using Pyquil. Orquestra will combine the two pieces together and translate it to the appropriate backend processor.
Orquestra will also manage job flow and submit jobs as needed and store the results for later analysis. Many quantum algorithms these days are hybrid algorithms that will perform one portion of the processing on a quantum machine and another portion on a classical machine. Orquestra will automatically manage the transfer of data back and forth allow an end user a lot of flexibility on which quantum computer to use and which classical computing resource to use. And a user can easily change this selection with only a few command line changes. For example, an end user can write a program and have it use IBM resource for the quantum portion and Microsoft’s Azure for the classical portion. And then in the next week, they can switch to use the Rigetti quantum computer with an on-premise server for the classical portion with just a few command line changes. Once the quantum jobs are run, Orquestra will store the results and provides a variety of tools that one can use to analyze and plot the data.
Orquestra was originally developed by Zapata when they started working on customer application problems and needed this capability for their own work. Later on, they realized that this capability would be valuable to others in the quantum community and they are now making it available. Zapata states the differentiators of the product are that it is extensible, hardware smart, reproducible, modular, and scalable. One of Orquestra’s unique strengths is that it is not only hardware agnostic, but it also allows users with deeper expertise to design workflows that squeeze the most performance from different devices, and even benchmark how the workflows perform across different devices, both quantum and classical. Zapata likes to say “the algorithm should fit the hardware like a glove”.
Orquestra is accessed through a cloud service provided by Zapata and only requires installing a small program on one’s local computer for accessing the cloud service. Early access release is starting now with a general release scheduled for Q3.
April 22, 2020