If you think creating quantum software is going to be simple, think again.
Quantum computing is an entirely new paradigm. It requires significant new skills and knowledge to even begin to understand. Consequently, the time-to-expertise will be significant, unless organizations can locate and hire these scarce resources. Even then, these scarce experts demand significant investments.
As with other hardware technology evolutions, many vendors are offering a Software Development Kit (SDK) approach to write new applications and workflows for quantum computers. That may have worked in the past for classic evolutions, but not for quantum.
Here's what you need to expect when beginning to write quantum software using a raw SDK.
Learn the basics of quantum. A highly skilled Ph.D. or programmer can learn enough to create basic quantum problems and simple workflows in a 3-month training period, then learn more over time as they tune and optimize their first workflows and problems to obtain better solutions. NOTE: cost of training/courses is not included in the model.
Quantum-optimize the problem, create quantum engines, create workflow. After the 3-months of training, the Ph.D. or programmer should be able to create a problem and workflow in approximately one month. That workflow is then processed across a single quantum computer. To process across multiple quantum machines will require the programmer/Ph.D. to write different workflows (circuits) for the different quantum machines. Also, programmers must work with mathematicians and physicists to create a quantum optimization engine to solve the problem. The month defined in this model is not enough time to create that engine, so it assumes that the toolkits will eventually offer optimization engines, or third-party software will be used.
Tune and continue to optimize to get quality results. After the first workflow is submitted and delivers results, the Ph.D./programmer usually spends 3-6 months tuning and learning about how to best optimize the problem and the workflow to deliver the best results. For example, the iteration required for quantum processing is a highly technical mathematical process that will need to be tuned and optimized across multiple shots.
The bottom line? Expect to spend 6-12 months before you have your first quantum program. And, every time your quantum processing units (QPUs) are updated or you expand the number, expect to rewrite the low-level code that's proprietary to the specific quantum computer you've selected.
What skills are required for quantum computing success?
So what do you need to successfully accomplish the above, using SDKs? Well, it’s an abstract blend of a wide range of computing and non-computing expertise, including:
Subject Matter Expertise (SME). As with any problem, the first step is for a business expert to define and describe what information and/or results the business needs from any form of computing.
Software Programming. In the classical world, a programmer usually takes the problem defined by a SME and programs it for the computer. In the quantum world, you need programmers, but if they’re programming the QC explicitly they have to have access to, or understand, a number of more complex and sophisticated areas of expertise as described below.
Mathematics/Physics. The problems that are solved using quantum computers require significant mathematical expertise to a) optimize the problem and data for quantum, b) create the algorithms and mathematics that solve the problem, and c) iterate the results in a way that optimizes performance, cost of result and quality of result. Mathematics is also required in many steps of the quantum processing itself to continually optimize, compress, and apply algorithms to the data and results as part of the iterative processing that defines the ultimate quantum results.
Quantum mechanics. Quantum computingdemands deep knowledge of the sciences that drive the computing itself. Quantum computing uses the principles of quantum mechanics/physics to process information. Because of this, quantum computing uses a different approach than classical computing, for example. The processors themselves, or QPUs. Classical computers use silicon-based chips, quantum computers use quantum systems such as atoms, ions, photons, or electrons combined in a “qubit.” Their quantum properties are used to represent bits that can be presented in different superpositions of 1 and 0. These qubits leverage concepts of quantum mechanics such as probabilistic computation, superposition, and entanglement. Experts need to understand these concepts to create the quantum algorithms that quantum computers use to solve these problems. Experts also need to know how to “map” problems, and their data, into QUBOs, or quantum problems that are optimized in the specific way required for a quantum computer to accept and process the problem.
Quantum hardware knowledge. QPUs, or quantum processors, require that programmers manage the configuration, actions/behaviors and overall operations of individual processors. For example, a QPU-based on annealing requires different programming and management than a QPU using gate model approaches. Each individual problem, application or workflow must include the specific instructions to manage the processing for different types of quantum hardware. Programmers must also update/rewrite problems whenever the quantum computer is expanded with more qubits, updated with a new version of hardware, etc. This also requires a deep knowledge of physics and quantum mechanics.
What does this mean to my business?
Given the complexity of learning quantum computing skills, the time-to-expertise can be significant, as described above. That’s why Qatalyst offers significant cost advantages, as well as time-to-results acceleration.
For a toolkit approach, this personnel model assumes one PhD level expert to train on the fundamentals of quantum computing, then define the problem and workflow, execute it on a specific quantum machine, get results and then optimize over a 3–6-month time period. This represents a significant fast-track to quality results since quantum experts say the reality is years of training and study to become effective at creating quantum problems/workflows/optimization and quality results.
The Bottom Line
As you can imagine, the time, difficulty and expense of hiring such a diverse and deeply knowledgeable team to create new quantum applications and workflows limits any organization’s ability to move forward quickly with the power of quantum computing.
That’s why QCI created Qatalyst as a ready-to-run quantum software for optimization problems. No programming, no quantum experts, just faster and better computations to better optimize your business.