The QPath Blog


Advantages of QuantumPath® for Quantum Software Development

Authors

Guido Peterssen
aQuantum COO

José Luis Hevia
aQuantum CTO

Mario Piattini
aQuantum CRO

As in classical computing, there is also a conceptual and practical difference between programming and software development in quantum computing.

The scope of software programming is reduced to the tasks necessary to program the quantum circuits and formulations with some programming language (OpenQASM, Q#, QMASM, Python, etc.) that will be executed in a quantum computer and an application to perform the coding.

The scope of quantum software development is defined by a broad set of tasks that must be performed to create an application or software solution from conception to deployment.

If the software development is performed in a professional environment and, therefore, to create high quality solutions for the industry, the tasks and phases of the life cycle to be managed and controlled are expanded to achieve greater rigor in the traceability and integrity of the processes of vision, analysis, design, programming or construction, testing and implementation, deployment, integration with the different IT systems with which it will have to interact, as well as its reuse. And all this, usually, “wrapped” by a set of layers of best practices, methods, methodologies, etc., to be applied during all phases of development.

To program quantum software, it is essential to have a programming language (currently the most widely used is Python), an application to create and distribute the source code (currently the most widely used is Jupyter Notebook) and a compiler or interpreter so that the program can be executed on quantum computers. With these tools, high-quality quantum software can be programmed, but if the purpose of that programming is to deploy a program for real-world use, this will not be enough. Other tasks and software tools will necessarily be required to make it reliable, highly scalable, available, and secure for industry. The more critical the intended use, the greater the need for the program to be part of a rigorous software development process.

To develop professional, industry-ready quantum software that provides guarantees of quality, security, extensibility, high performance, and scalability, in addition to the programming language and source code management application, a set of tools and solutions is needed to work through each phase of development. If the most relevant tools and solutions to achieve this are not integrated, the development process becomes more complex, but if most of them are, or are easily integrated through plugins or other resources, the development process is more fluid and increases both productivity and quality of solutions.

QuantumPath® is the first platform for lifecycle management and development of professional quantum/classical hybrid software. With it you can work from the creation of the quantum algorithm through its development, testing and implementation, to its deployment and reuse. In addition, QPath® provides an ecosystem of tools to develop quantum software that supports the execution of quantum processing units in a transparent way regardless of the platform where they are executed and in different quantum approaches [1]. 

QPAgnosticoArt09_2022_En

Figure 1. QPath® approved quantum computers and quantum simulators (September 2022)

 

QuantumPath® is designed, first and foremost, to facilitate the development of industry-ready quantum software, so it offers a set of advantages for professional quantum software development [2], which we can currently group as follows:

·       Programming of quantum algorithms through graphical user interfaces (GUI).

·       Dynamic integration of hybrid quantum/classical software systems

·       Tools for the application of software engineering best practices

·       Technologies specially designed for professional quantum software programming and development with QPath®

Developing quantum software with the QPath® GUI, as compared to programming manual code, provides the possibility of being able to design quantum gated-based algorithms and annealing mathematical formulations [3] through visual interfaces, without the need for manual programming and that, when the work is finished, by pressing a couple of buttons (Compile and Transpile), they are ready to be executed on QPath® approved quantum computers or simulators.

This advantageous way of working is made possible by Q Assets Compositor®, a set of QPath® tools for the visual design of quantum algorithms in real-world architecture, making it possible to exploit quantum algorithms and applications in the widest range of quantum vendor technologies. Working with Q Assets Compositor® allows programmers to focus on the implementation of use cases, which contributes to increased productivity, significantly reducing costs and delivery time to the customer compared to manual programming of quantum algorithms. 

QAssetsCompositorArt_09_2022_En

Figure 2. Developing quantum software with the QPath® GUI

 

Making quantum software industry-ready today depends, among other relevant factors, on the capability and quality and “in the box” functionalities of dynamically integrating quantum software systems with classical ones.

QuantumPath® provides the advantage by simplifying these complex integration tasks with qSOA®, a technology that is positioned at the service layer of a computer system, which makes it possible to exploit the quantum services platform using an API and tools that perfectly respond to a distributed model of software components: standards, security, encryption, scalability, etc. 

qSOA® is an architecture conceived, designed, and implemented to be extremely concrete, useful, turning something as complex as the classical/quantum integration process into something extremely concrete, parameterizable and controlled. We have achieved this based on well-tested architectures, designed to be secure, under high performance and scalability principles that provide tools to development teams that allow them to prepare now to lead the way and be efficient in the evolution of the integration of classical and quantum software systems [4]. Thanks to qSOA® web services, you can both execute your flows and dynamically manage the lifecycle of your assets.

qSOAArt_09_2022_En

Figure 3. qSOA® classical/quantum integration

 

To facilitate the application of Quantum Software Engineering [5] best practices, even without being a specialist in this discipline, at QuantumPath® we design, develop and implement a variety of tools and services that make it possible, among which we highlight the following:

·       Extensive telemetry logs generated by the system.

·       Apps to manage quantum software testing

·       Support for gate-based approaches and quantum annealing

·       Easy-to-use graphical interfaces

·       ALM to manage the quantum software development lifecycle

·       Integration of quantum software and classical computing

·       Our strategy to ensure an effective workforce for the future of quantum software engineering

·       Inclusion of other principles of the Talavera Manifesto

The result of the integration of all the above (and more) is a harmonious software development process that flows through all the stages required for development, including its extension to the integration of classical software systems with quantum computing.

QPSoftTechArt_09_2022_En

Figure 4. Extended development life cycle with QPath®.

The advantages detailed above would not be possible if we were not creators and developers of hybrid quantum/classical software technologies that we consider useful to accelerate the adoption of quantum computing by facilitating the development of industry-ready professional quantum software.

As a result of the specialized research and development we do in Quantum Software Engineering and Programming, we have created technical solutions thanks to which, among others, QuantumPath®:

·       Supports a complete ALM stack that accelerates the design, build and deployment of quantum applications

·       It is 100% agnostic to the quantum technologies it works with.

·       A backend ready to execute quantum-agnostic use cases and retrieve their results for analysis or exploitation

·       Simplifies the creation of hybrid classical-quantum architectures with qSOA®, a clear and organized REST API that allows you to dynamically access and run your assets from any classical technology

·       Has the ability to consume and extend virtually any functionality and supports third-party solutions as plug-ins

·       Facilitates software development through visual interfaces

·       Supports different types of quantum hardware: gate-based, annealing, simulators, etc.

·       Allows visual design of quantum algorithms: quantum circuits and annealing model definitions

·       No limit on the number of gates or variables to be used. These limits will be imposed by the state of the art of QPUs, not by the platform.

·       Set initial gate values or create parameters with the load data implicitly in your designs and turn them into parameters in your assets, so you can set input values at runtime (hyper-parameters)

·       Supports different pipeline modes that allow you to access different levels of QPath® asset designs

·       Its machine learning suggests the best quantum target available in your solution when executing your flows.

·       Quantum hardware vendor connectors are always updated according to the manufacturer’s own roadmap. Vendor evolutions, therefore, do not affect the design of QuantumPath® assets.

·       Provides local quantum simulators local to the platform, providing a no-cost simulation environment before moving to the next level of testing.

·       Can be deployed in multiple contexts: cloud, on-premise, or hybrid.

We developed this broad suite of technology solutions to solve the complexities we face every day in our quantum software development projects, so they have a broad process for practical use in a wide range of functional and technical challenges. We make these extensively refined solutions available to users through QPath® so that, like us, they can be more productive by reducing the average development and integration time of quantum algorithms by approximately 70% for quantum gate-based devices and 85% for annealing devices.

QPSoftTechWorkforceArt_09_2022_En

Figure 5. Integrated technologies to accelerate software development in QPath®

 

The great advantages of quantum software development with QPath® mentioned above make it possible for development teams to have an ecosystem of tools that maximizes productivity from minute zero, with users having at their disposal, among others, the following capabilities [6] of the platform to carry out their projects:

QPCapacidadesArt_09_2022_En

Figure 6. QPath® Capabilities

 

Those of us who work in the field of computing technologies are aware of the high complexity we face daily in selecting and hiring the quantum workforce. This situation, since the beginning of our activity, stimulated us (and let’s be honest, also compelled us) to be creative in order to facilitate the quantum developers of our team not only to learn and create competences, something that is not limited to formal trainings (something we do with our own programs), but also to provide them with tools that professionally accelerate, in an effective way, their ability to actively participate in software development.

Knowing the state of the art of quantum software development today, we have no doubt that one of the most important results of our activity to achieve this goal is the design, development, and use of QuantumPath® in our day-to-day work. We are well aware of how much this platform brings to us, so making it available to users is our way of contributing to accelerating the adoption of professional quantum/classical industry-ready hybrid quantum software development, and thus making a practical contribution to democratizing access to quantum computing.

[1] Peterssen, G., Hevia, J.L. Introduction to quantum software development with QPath. The QPath Blog. 13/01/2021. https://www.quantumpath.es/2021/01/13/introduction-to-quantum-software-development-with-qpath/

[2] https://www.quantumpath.es/advantages-of-qpath/

[3] Murina, E., Hevia, J.L., Peterssen, G., Piattini, M. Q Assets Compositor™: an easy path of compose quantum annealing solutions. https://www.aquantum.es/wp-content/uploads/2021/11/EQTC-2021-Q-Assets-Compositor.pdf

[4] Hevia, J.L., Piattini, M., Peterssen, G. qSOA®: technology for dynamic integration of quantum-classical hybrid software systemsThe QPath Blog. 04/06/2022. https://www.quantumpath.es/2022/06/04/qsoa-technology-for-dynamic-integration-of-quantum-classical-hybrid-software-systems/

[5] Dargan, J. Talking About QuantumPath® & The SEI Agenda for Software Engineering Research & Development. The Quantum Insider. November 18, 2021. https://thequantuminsider.com/2021/11/18/talking-about-quantumpath-the-sei-agenda-for-software-engineering-research-development/

 [6] https://www.quantumpath.es/es/capacidades-de-qpath/