Talk

Quantum computing without leaving Python behind

Thursday, May 29

14:40 - 15:25
RoomGnocchi
LanguageEnglish
Audience levelAdvanced
Elevator pitch

Python is the most widely used language for quantum software development. While trends lean toward Julia or Rust for high-performance quantum computing tasks, this talk demonstrates how Python, as a powerful frontend, can leverage bindings to other languages to achieve the same results seamlessly.

Abstract

A recent survey of the quantum open source community shows that Python is, by far, the most widely used programming languages in the quantum computing industry. However, as the demand for high-performance computation in quantum tasks grows, many developers are turning to languages like Julia or Rust for speed and efficiency. This raises the question: do we need to leave Python behind to achieve high performance in quantum computing?

Before diving into this question, I want to give the audience an introduction to the quantum software stack, and explain why we need a high performance classical programming language in the first place when we do quantum computing.

Back to the question, this talk argues that Python’s versatility and power as a frontend make it unnecessary to abandon it, even for demanding quantum tasks. By leveraging bindings to high-performance languages and libraries, Python can remain the primary tool for quantum programming while seamlessly integrating with more computationally efficient backends. We will explore real-world examples of how Python bridges the gap between accessibility and performance:

-PennyLane Catalyst: A library that enables Just-in-Time (JIT) compilation of hybrid quantum-classical programs using JAX bindings for MLIR. Catalyst can be used alongside PennyLane directly from Python.

-PyQrack: A set of Python bindings for the Qrack quantum computer simulator, written in C++ with OpenCL acceleration. PyQrack combines Python’s ease of use with the computational power of C++ and GPU-enabled parallelism, enabling high-speed quantum simulations directly from Python.

-Qiskit transpiler: the IBM team is rewriting certain transpiler passes in Rust to improve performance, demonstrating how Python can act as a frontend while leveraging Rust for computationally intensive tasks.

These examples, some of which I have been directly involved in, demonstrate how Python can serve as a powerful frontend to cutting-edge quantum technologies.

This talk is designed for an advanced audience, but does not require prior knowledge of quantum computing, let alone quantum physics.

TagsCompiler and Interpreters, Performance and scalability techniques, Other
Participant

Alessandro Cosentino

Alessandro is a Member of Technical Staff at Unitary Foundation. He holds a PhD in Computer Science from the University of Waterloo, with a thesis in quantum information theory and optimization. He is an open source software advocate, with contributions to both classical and quantum projects. In the past he has worked as a software engineer for Bending Spoons, Yieldify, Babylon Health, and Amazon. He is an avid cyclist and rides a steel gravel bike that he helped build himself.