entropicalabs / openqaoa

Multi-backend SDK for quantum optimisation
MIT License
113 stars 58 forks source link

Integrate the NVIDIA cuQuantum backend with OpenQAOA #305

Open KilianPoirier opened 2 months ago

KilianPoirier commented 2 months ago

Issue Description

Can we add some of the NVIDIA simulators to the OpenQAOA stack? NVIDIA's cuQuantum SDK provides users with quantum circuit simulation tools:

Integrating these tools with our stack would be helpful to implement tensor network simulations or simply make use of the high-performance simulators.

Changes to be made

In the same way we implemented different backends (physical QPU or simulators), implement a plugin package openqaoa-nvidia that allows execution on NVIDIA's backend. More specifically, changes include:

vivek-kumar9696 commented 1 month ago

Hi, I would like to work on this enhancement. Can you please direct towards a plugin template used in your code that closely resembles the kind of components required for this.

KilianPoirier commented 1 month ago

Hi @vivek-kumar9696 , thanks for your interest!

You can find examples of such backends in the other plugins already implemented, e.g. openqaoa-azure, openqaoa-braket, openqaoa-qiskit, and openqaoa-pyquil. All plugins have a /backends/ folder where you can find:

Finally there is also a backend configuration file in the root folder of the plugin to describe how everything is mapped to the core library of openqaoa.

You can always refer to the existing plugins for the implementation of this new backend. Hope that helps!

vivek-kumar9696 commented 1 month ago

Thanks for the information. I am taking up this issue.