Qiskit.remote not working with IBMProvider

Hello! I’m using the IBMProvider package to be able to use my research access to IBM’s backends, so I need to define the instance that I want to access in order to use the dedicated device, but Pennylane always sends my jobs to the open access instance, instead of the one I provided in the provider. When I try to use the qiskit.remote option in qml.device I get an error saying that the backend I provided does not exist. Here instance is the code to access the research instance, sorry I can’t share it.

import pennylane as qml
from pennylane import numpy as np
import pennylane_qiskit as pq
from qiskit_ibm_provider import IBMProvider
import qiskit

provider = IBMProvider(instance=instance)
backend = provider.get_backend("ibm_perth") #The backend I reserved
ibm_dev = qml.device('qiskit.remote', wires=3, backend=backend, shots=nshots)

I get the error message


DeviceError                               Traceback (most recent call last)

<ipython-input-85-1b671ca10058> in <cell line: 8>()
      6 # ibm_dev = qml.device('qiskit.ibmq', wires=3, backend='ibm_perth', shots=nshots)
----> 8 ibm_dev = qml.device('qiskit.remote', wires=3, backend=backend, shots=nshots)
     10 # ibm_dev = qml.device('qiskit.ibmq', wires=3, shots=nshots)

/usr/local/lib/python3.10/dist-packages/pennylane/__init__.py in device(name, *args, **kwargs)
    336         return dev
--> 338     raise DeviceError("Device does not exist. Make sure the required plugin is installed.")

DeviceError: Device does not exist. Make sure the required plugin is installed.

all qiskit and pennylane plugins required are installed.

Hey @Pedro_Alvarez!

Can you post the output of qml.about()?

There you go @isaacdevlugt

Name: PennyLane
Version: 0.29.1
Summary: PennyLane is a Python quantum machine learning library by Xanadu Inc.
Home-page: https://github.com/XanaduAI/pennylane
License: Apache License 2.0
Location: /usr/local/lib/python3.10/dist-packages
Requires: appdirs, autograd, autoray, cachetools, networkx, numpy, pennylane-lightning, requests, retworkx, scipy, semantic-version, toml
Required-by: PennyLane-Cirq, PennyLane-Lightning, PennyLane-qiskit, PennyLane-qsharp, PennyLane-Rigetti, PennyLane-SF

Platform info:           Linux-5.15.107+-x86_64-with-glibc2.31
Python version:          3.10.12
Numpy version:           1.22.4
Scipy version:           1.10.0
Installed devices:
- default.gaussian (PennyLane-0.29.1)
- default.mixed (PennyLane-0.29.1)
- default.qubit (PennyLane-0.29.1)
- default.qubit.autograd (PennyLane-0.29.1)
- default.qubit.jax (PennyLane-0.29.1)
- default.qubit.tf (PennyLane-0.29.1)
- default.qubit.torch (PennyLane-0.29.1)
- default.qutrit (PennyLane-0.29.1)
- null.qubit (PennyLane-0.29.1)
- cirq.mixedsimulator (PennyLane-Cirq-0.31.0)
- cirq.pasqal (PennyLane-Cirq-0.31.0)
- cirq.qsim (PennyLane-Cirq-0.31.0)
- cirq.qsimh (PennyLane-Cirq-0.31.0)
- cirq.simulator (PennyLane-Cirq-0.31.0)
- lightning.qubit (PennyLane-Lightning-0.30.0)
- rigetti.numpy_wavefunction (PennyLane-Rigetti-0.31.0)
- rigetti.qpu (PennyLane-Rigetti-0.31.0)
- rigetti.qvm (PennyLane-Rigetti-0.31.0)
- rigetti.wavefunction (PennyLane-Rigetti-0.31.0)
- strawberryfields.fock (PennyLane-SF-0.29.1)
- strawberryfields.gaussian (PennyLane-SF-0.29.1)
- strawberryfields.gbs (PennyLane-SF-0.29.1)
- strawberryfields.remote (PennyLane-SF-0.29.1)
- strawberryfields.tf (PennyLane-SF-0.29.1)
- qiskit.aer (PennyLane-qiskit-0.29.0)
- qiskit.basicaer (PennyLane-qiskit-0.29.0)
- qiskit.ibmq (PennyLane-qiskit-0.29.0)
- qiskit.ibmq.circuit_runner (PennyLane-qiskit-0.29.0)
- qiskit.ibmq.sampler (PennyLane-qiskit-0.29.0)
- microsoft.QuantumSimulator (PennyLane-qsharp-0.19.0)

I see it now, how can I install qiskit.remote?

I got it, just had to update pennylane-qiskit

Great! Yeah always a good idea to check that you’re using the most up-to-date versions of everything :slight_smile:.