

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 파라메트릭 컴파일을 사용하여 하이브리드 작업 가속화
<a name="braket-jobs-parametric-compilation"></a>

 Amazon Braket은 특정 QPU에서 파라메트릭 컴파일을 지원합니다. 따라서 하이브리드 알고리즘의 모든 반복에 대해 회로를 한 번만 컴파일하여 계산 비용이 많이 드는 컴파일 단계와 관련된 오버헤드를 줄일 수 있습니다. 각 단계에서 회로를 다시 컴파일할 필요가 없으므로 하이브리드 작업의 런타임이 크게 향상됩니다. 파라미터화된 회로를 Braket Hybrid Job으로 지원되는 QPU 중 하나에 제출하기만 하면 됩니다. 장기 실행 하이브리드 작업의 경우, Braket은 회로를 컴파일할 때 하드웨어 공급자의 업데이트된 보정 데이터를 자동으로 사용하여 최고 품질의 결과를 보장합니다.

파라메트릭 회로를 생성하려면 먼저 알고리즘 스크립트에 파라미터를 입력으로 제공해야 합니다. 이 예제에서는 작은 파라미터 회로를 사용하고 각 반복 사이의 모든 고전적 처리를 무시합니다. 일반적인 워크로드의 경우 여러 회로를 일괄적으로 제출하고 각 반복에서 파라미터를 업데이트하는 등의 고전적 처리를 수행합니다.

```
import os

from braket.aws import AwsDevice
from braket.circuits import Circuit, FreeParameter

def start_here():

    print("Test job started.")

    # Use the device declared in the job script
    device = AwsDevice(os.environ["AMZN_BRAKET_DEVICE_ARN"])

    circuit = Circuit().rx(0, FreeParameter("theta"))
    parameter_list = [0.1, 0.2, 0.3]
    
    for parameter in parameter_list:
        result = device.run(circuit, shots=1000, inputs={"theta": parameter})

    print("Test job completed.")
```

다음 작업 스크립트를 사용하여 하이브리드 작업으로 실행할 알고리즘 스크립트를 제출할 수 있습니다. 파라메트릭 컴파일을 지원하는 QPU에서 하이브리드 작업을 실행할 때 회로는 첫 번째 실행 시에만 컴파일됩니다. 다음 실행에서는 컴파일된 회로가 재사용되므로 추가 코드 줄 없이 하이브리드 작업의 런타임 성능이 향상됩니다.

```
from braket.aws import AwsQuantumJob

job = AwsQuantumJob.create(
    device=device_arn,
    source_module="algorithm_script.py",
)
```

**참고**  
파라메트릭 컴파일은 펄스 레벨 프로그램을 제외한 Rigetti Computing의 모든 초전도 게이트 기반 QPU에서 지원됩니다.