Qiskit
Published in

Qiskit

Why I Built a Provider for Accessing Amazon Braket Hardware With Qiskit

Qiskit jobs run on Amazon Braket (Screenshot: David Morcuende)

Qiskit’s goal is to build a global quantum computing community — so it made sense to me that Qiskitters should be able to use the Qiskit software development kit to program any quantum computer. That’s why I connected Qiskit to the Amazon Braket service.

Like Qiskit Runtime, Amazon Braket is a fully managed quantum computing service from AWS that offers access to quantum computing hardware. Programming the processors on Braket once required learning a different programming framework. So, as part of my Qiskit Advocate Mentorship Program project, I built a provider that allows users to program Braket backends, both real quantum hardware and simulators, using Qiskit. I hope that this effort will help build an even stronger Qiskit community — and help strengthen the quantum community as a whole.

But first, about me: I’m a computer scientist based in Madrid, Spain. My coding story began with machine learning and artificial intelligence, especially with virtual assistants, and I moved on to building other things, such as founding my own startup. I soon realized that I wanted to work on projects and products that helped people. I found out about IBM Quantum and attended a Qiskit hackathon, where I met a lot of other folks working in quantum. I started studying quantum computing on my own, and eventually I became a Qiskit Advocate. What I’ve loved about being a part of the Qiskit Community is that even someone like me without much of a physics background can make an impact with the help of a strong, welcoming community.

Braket processors and simulators (Screenshot: David Morcuende)

As a Qiskit Advocate, I was able to take part in the Qiskit Advocate Mentorship Program and saw that connecting Qiskit to Amazon Braket was as a potential project. I knew that there were a lot of quantum frameworks, a lot of devices, and a lot of platforms, but not many links connecting them. My project envisioned allowing Qiskit users to access other devices without having to learn a new software development kit, beginning with the hardware offered as part of Amazon Braket.

My mentor Iskandar Sitdikov and I first had to learn about Braket. Braket has a python-based SDK, plus local backends executed on a local computer and backends available on the cloud. We began to translate it all into Qiskit code. We built a provider — essentially the mediator between AWS and Qiskit that maps Braket commands to the corresponding Qiskit commands. All of this required creating translations between the Qiskit gates and the Braket gates. Perhaps the biggest challenge was simply figuring out how to connect to another cloud service. We had to read a lot of documentation to ensure we were doing everything right.

We also made sure that the Qiskit provider would allow us to run Amazon Braket Hybrid Jobs, which enable users to run algorithms incorporating both quantum and classical computation — similar to what Qiskit Runtime does. Hybrid Jobs similarly containerizes programs and gives priority access to quantum processing units for these jobs.

I’m excited about this project because it fits perfectly into Qiskit’s mission to democratize quantum computing. The IBM Quantum hardware we typically access with Qiskit consists solely of superconducting processors, and accessing other architectures such as photonic quantum computers, trapped ions, or even quantum annealers all required learning a new language or a new framework. But being able to access any of these hardware architectures with one programming language helps everyone interested in quantum, from developers hoping to learn how to program different processors to scientists looking for an easy way to benchmark one processor against another.

I can’t wait to see what developers can do with these new providers and backends. You can check out a tutorial on how to get started using the Qiskit Braket provider here:

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store