Open KilianPoirier opened 6 months 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.
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:
device.py
containing the information to access the specific provider's devices (qpu or sim, local or remote).gates_*.py
that contains the mapping between openqaoa's abstract gate representation and the provider's gates.qaoa_*_qpu/sim.py
that describes the creation of a QAO
object on the specific backend.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!
Thanks for the information. I am taking up this issue.
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:openqaoa-nvidia
including all necessary components (e.g.setup.py
,pyproject.toml
, etc...).openqaoa-nvidia/backend
equivalent, bridging the stack's internal representation to one compatible with NVIDIA's SDK.