주 콘텐츠로 건너뛰기

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에 업로드하기

API 키로 인증하려면 Qiskit Functions 소개 페이지의 지침을 따르세요.

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'

다음 단계

권장 사항
  • 연구자들이 Qiskit Serverless와 양자 중심 슈퍼컴퓨팅을 활용하여 양자 화학을 탐구한 논문을 읽어보세요.