דלג לתוכן הראשי

העברת קוד ל-Qiskit Serverless

הדוגמה הבאה מציגה כיצד להעביר קוד קיים לניצול Qiskit Serverless.

הערה

הקוד הבא מניח שאמת את עצמך ושמרת את האישורים שלך. אם לא עשית זאת, עקוב אחר ההוראות בהגדרת חשבון IBM Cloud שלך לאימות עם מפתח ה-API שלך.

עדכון הניסוי

from qiskit.transpiler import generate_preset_pass_manager
from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit.circuit.random import random_circuit

qc_random = [(random_circuit(20, 20, measure=True)) for _ in range(30)]
optimization_level = 3

service = QiskitRuntimeService(channel="ibm_quantum_platform")
backend = service.get_backend(backend_name)

pass_manager = generate_preset_pass_manager(
optimization_level=optimization_level, backend=backend
)

# @distribute_task(target={"cpu": 1})
def transpile_parallel(circuit, pass_manager):
"""Distributed transpilation for an abstract circuit into an ISA circuit for a given backend."""

isa_circuit = pass_manager.run(circuit)

return isa_circuit

transpiled_circuits = [
transpile_parallel(circuit, pass_manager)
for circuit in circuits
]

print(transpiled_circuits)

העלאה ל-Qiskit Serverless

עקוב אחר ההוראות בדף מבוא לפונקציות Qiskit לאימות עם מפתח ה-API שלך.

from qiskit_ibm_catalog import QiskitServerless, QiskitFunction

# Authenticate to the remote cluster and submit the pattern for remote execution.
serverless = QiskitServerless()

transpile_remote_demo = QiskitFunction(
title="transpile_remote_serverless",
entrypoint="transpile_remote.py",
working_dir="./source_files/",
)

serverless.upload(transpile_remote_demo)

פלט

'transpile_remote_serverless'

הרצה מרחוק ב-Qiskit Serverless

from qiskit.circuit.random import random_circuit
from qiskit_ibm_runtime import QiskitRuntimeService

# Setup inputs
qc_random = [(random_circuit(20, 20, measure=True)) for _ in range(30)]
backend = "ibm_brisbane"
optimization_level = 3

# Running program
transpile_remote_serverless = serverless.load('transpile_remote_serverless')
job = transpile_remote_serverless.run(
circuits=qc_random,
backend=backend,
optimization_level=optimization_level
)

job.job_id

פלט

'727e921d-512d-4b7d-af97-fe29e93ce7ea'

צעדים הבאים

המלצות