Skip to main content

Español

Índice

  1. Conectarse al chip
    1. Entorno python
    2. Qiboconnection
  2. Ejecutar trabajos
    1. Lanzar a colas
    2. Ver trabajos lanzados

Conectarse al chip

IMPORTANTE

Las cuentas son de uso personal e intransferible.

Entorno python

El acceso remoto será posible a través del uso de la librería de python “qiboconnection”. Necesitaremos tener un entorno de python con la versión mínima 3.10. Se puede hacer con las herramientas conda o venv.

pip install qiboconnection

Qiboconnection

Necesitaremos importar la clase API de qiboconnection para interactuar con el chip.

from qiboconnection.api import API
from qiboconnection.connection import ConnectionConfiguration

Una vez importado será necesario introducir las credenciales.

configuration = ConnectionConfiguration(username = "USER",api_key = "API_KEY")
connection = API( configuration = configuration)

Ejecutar trabajos

Lanzar a colas

Para enviar trabajos al chip, hay que seleccionar el dispositivo. Para ver los dispositivos disponibles:

connection.list_devices()

Seleccionaremos el chip cuántico, normalmente con id = 9.

connection.select_device_ids(device_ids=9)

Ahora ya podemos preparar el circuito que queremos enviar.

from qibo.models import Circuit
from qibo import gates
circuit = Circuit(nqubits = 1)
circuit.add(gates.X(0))
circuit.add(gates.M(0))

Entonces ejecutamos el circuito, que será enviado a la cola.

job_ids = connection.execute(circuit=circuit)

Podremos ir viendo el estado del job y su resultado cuando termine, con esta llamada a la API:

results = connection.get_results(job_ids=job_ids)

Ver trabajos lanzados

Para poder ver todos los trabajos lanzados, podemos hacer uso de la API.

Ver todos los trabajos:
jobs_df = connection.list_jobs().dataframe
Los que estan pendientes:
jobs_df[(jobs_df['job_type']=='circuit') & (jobs_df['status']=='pending')]
Para ver el circuito:
circuit_data = connection.get_job(job_id=1)
circuit_data.description.draw()
Para obtener el resultado:
circuit_data.result