A multitude of programming languages and frame-works exist for quantum computing today (Qiskit, Intel Quantum SDK, Pennylane, Cirq, Microsoft Quantum SDK, Yao.jl, etc.). Simultaneously, a given language or framework plays a vital role in a particular area of STEM education, and focuses on specialised features that can benefit specific domain(s) of computing & science. Accessing quantum computing compute resources from a software framework requires the development of integrations for every hardware platform, which becomes a challenge in the long run. The Qiskit Runtime environment is composed of Primitives: Sampler/Estimator, Sessions, and a rich set of Error mitigation techniques and compiler optimization methods. In this paper, we show how the recent architecture of Qiskit Runtime environment, now accepting QASM strings into REST API calls, starts to bridge the gap between programming languages & quantum computing frameworks. More specifically, we highlight the students' needs of interfacing between languages & frameworks, along with the needed development for an individual to generate accepted inputs which complete a quantum program.
A multitude of programming languages and frame-works exist for quantum computing today (Qiskit, Intel Quantum SDK, Pennylane, Cirq, Microsoft Quantum SDK, Yao.jl, etc.). Simultaneously, a given language or framework plays a vital role in a particular area of STEM education, and focuses on specialised features that can benefit specific domain(s) of computing & science. Accessing quantum computing compute resources from a software framework requires the development of integrations for every hardware platform, which becomes a challenge in the long run. The Qiskit Runtime environment is composed of Primitives: Sampler/Estimator, Sessions, and a rich set of Error mitigation techniques and compiler optimization methods. In this paper, we show how the recent architecture of Qiskit Runtime environment, now accepting QASM strings into REST API calls, starts to bridge the gap between programming languages & quantum computing frameworks. More specifically, we highlight the students' needs of interfacing between languages & frameworks, along with the needed development for an individual to generate accepted inputs which complete a quantum program.
Quantum computing is a rapidly emerging and promising field with the potential to transform various research domains including drug design, network technologies, and sustainable energy solutions. Due to the inherent complexity and divergence from classical computing, several major quantum computing libraries have been developed to implement quantum algorithms, namely IBM Qiskit, Amazon Braket, Cirq, PyQuil, and PennyLane. These libraries enable quantum simulations on classical computers and execution on corresponding quantum hardware, such as Qiskit programs on IBM quantum computers. Despite the variations among these platforms, the core concepts remain the same. One notable challenge is the absence of a Python-based quantum interpreter to connect these five frameworks, a gap that remains to be fully addressed. In response, our work introduces a tool called Qinterpreter, accessible through a user-friendly web interface, the Quantum Science Gateway QubitHub, which operates alongside Jupyter Notebooks. Built using the Python Object-Oriented Programming System, Qinterpreter unifies the five well-known quantum libraries into a single framework. Designed as an educational tool for students and researchers entering the quantum domain, Qinterpreter enables the straightforward development and execution of quantum circuits across such platforms. This work highlights the quantum programming versatility and accessibility of Qinterpreter and underscores our ultimate goal of pervading Quantum Computing through younger, less specialized, and diverse cultural and national communities.
Quantum Computing (QC) has evolved into a computational model that can potentially solve problems of classes that cannot be solved by classical systems. This review gives a discussion on the innovation of software frameworks, experimental platforms and quantum computing tools used to compute quantum algorithm development, simulation and implementation. It concentrates on widely used programming environments, which compile abstract quantum models into practical workflows, including Cirq, TensorFlow Quantum, ProjectQ and Qiskit. The paper, besides describing the long-lasting problems related to scalability, error correction, and hardware reliability, also considers the architecture of the modern quantum computing platforms. Finally, new advances are outlined, such as quantum cloud service and the integration of artificial intelligence and quantum computing, and their role in the development of QC to viable and lucrative deployments. All in all, the discussion suggests that even now quantum computing still needs to be taken to the next level in terms of hardware infrastructure and software development that would allow progressing to the next stage of quantum technology testing and implementation.
The rapid development of quantum computing technology has led to an increasing need for efficient and accessible programming tools that can bridge the gap between classical and quantum computing paradigms. In this paper, we introduce the Intel®Quantum SDK, a powerful software development kit designed to facilitate hybrid quantum-classical programming using the C++ Quantum Extension. The SDK provides a comprehensive set of tools and libraries that enable developers to harness the power of quantum computing while leveraging their existing knowledge of classical programming techniques. By incorporating quantum algorithms and operations within a familiar C++ framework, the Intel Quantum SDK empowers programmers to create innovative hybrid applications that can tackle complex problems and drive advancements in various fields, including cryptography, optimization, and materials science. This paper will guide readers through the essential concepts, features, and capabilities of the Intel Quantum SDK. This seamless integration of quantum and classical programming paradigms paves the way for the development of innovative and efficient solutions to complex computational challenges, ultimately driving the advancement of quantum computing technology and its real-world applications.
The Intel(R) Quantum Software Development Kit (SDK) offers a comprehensive platform for developers to create quantum applications using an LLVM-based compiler with user-friendly C++ language extensions. This full-stack solution facilitates the expression and optimization of quantum circuits and includes a quantum runtime library for seamless hybrid execution between classical and quantum kernels. The runtime enables dynamic parameter determination for quantum circuits, allowing both quantum and classical components of variational algorithms to be defined within a single program, compiled once, and significantly reducing execution latency. The SDK features a suite of quantum simulators, including simulations of Intel's quantum hardware components such as qubit control processors, control electronics, and quantum dot qubits. With a unified interface, the Intel Quantum SDK allows users to target ideal qubit simulators, realistic Intel quantum hardware simulators, and future Intel quantum hardware, enabling efficient optimization, compilation, and execution of scalable hybrid quantum-classical variational algorithms.
Quantum computing is a rapidly emerging and promising field that has the potential to revolutionize numerous research domains, including drug design, network technologies and sustainable energy. Due to the inherent complexity and divergence from classical computing, several major quantum computing libraries have been developed to implement quantum algorithms, namely IBM Qiskit, Amazon Braket, Cirq, PyQuil, and PennyLane. These libraries allow for quantum simulations on classical computers and facilitate program execution on corresponding quantum hardware, e.g., Qiskit programs on IBM quantum computers. While all platforms have some differences, the main concepts are the same. QInterpreter is a tool embedded in the Quantum Science Gateway QubitHub using Jupyter Notebooks that translates seamlessly programs from one library to the other and visualizes the results. It combines the five well-known quantum libraries: into a unified framework. Designed as an educational tool for beginners, Qinterpreter enables the development and execution of quantum circuits across various platforms in a straightforward way. The work highlights the versatility and accessibility of Qinterpreter in quantum programming and underscores our ultimate goal of pervading Quantum Computing through younger, less specialized, and diverse cultural and national communities.
Abstract Quantum programming techniques and software have advanced significantly over the past five years, with a majority focusing on high-level language frameworks targeting remote REST library APIs. As quantum computing architectures advance and become more widely available, lower-level, system software infrastructures will be needed to enable tighter, co-processor programming and access models. Here we present XACC, a system-level software infrastructure for quantum–classical computing that promotes a service-oriented architecture to expose interfaces for core quantum programming, compilation, and execution tasks. We detail XACC's interfaces, their interactions, and its implementation as a hardware-agnostic framework for both near-term and future quantum–classical architectures. We provide concrete examples demonstrating the utility of this framework with paradigmatic tasks. Our approach lays the foundation for the development of compilers, associated runtimes, and low-level system tools tightly integrating quantum and classical workflows.