예: 에 양자 작업 제출 QPU - Amazon Braket

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

예: 에 양자 작업 제출 QPU

Amazon Braket을 사용하면 QPU 디바이스에서 양자 회로를 실행할 수 있습니다. 다음 예제에서는 에 양자 작업을 제출하는 방법을 보여줍니다.Rigetti 또는 IonQ 디바이스.

를 선택합니다.Rigetti Ankaa-2 연결된 연결 그래프를 확인합니다.

# import the QPU module from braket.aws import AwsDevice # choose the Rigetti device device = AwsDevice("arn:aws:braket:us-west-1::device/qpu/rigetti/Ankaa-2") # take a look at the device connectivity graph device.properties.dict()['paradigm']['connectivity']
{'fullyConnected': False, 'connectivityGraph': {'0': ['1', '7'], '1': ['0', '2', '8'], '2': ['1', '3', '9'], '3': ['2', '4', '10'], '4': ['3', '5', '11'], '5': ['4', '6', '12'], '6': ['5', '13'], '7': ['0', '8', '14'], '8': ['1', '7', '9', '15'], '9': ['2', '8', '10', '16'], '10': ['3', '9', '11', '17'], '11': ['4', '10', '12', '18'], '12': ['5', '11', '13', '19'], '13': ['6', '12', '20'], '14': ['7', '15', '21'], '15': ['8', '14', '22'], '16': ['9', '17', '23'], '17': ['10', '16', '18', '24'], '18': ['11', '17', '19', '25'], '19': ['12', '18', '20', '26'], '20': ['13', '19', '27'], '21': ['14', '22', '28'], '22': ['15', '21', '23', '29'], '23': ['16', '22', '24', '30'], '24': ['17', '23', '25', '31'], '25': ['18', '24', '26', '32'], '26': ['19', '25', '33'], '27': ['20', '34'], '28': ['21', '29', '35'], '29': ['22', '28', '30', '36'], '30': ['23', '29', '31', '37'], '31': ['24', '30', '32', '38'], '32': ['25', '31', '33', '39'], '33': ['26', '32', '34', '40'], '34': ['27', '33', '41'], '35': ['28', '36', '42'], '36': ['29', '35', '37', '43'], '37': ['30', '36', '38', '44'], '38': ['31', '37', '39', '45'], '39': ['32', '38', '40', '46'], '40': ['33', '39', '41', '47'], '41': ['34', '40', '48'], '42': ['35', '43', '49'], '43': ['36', '42', '44', '50'], '44': ['37', '43', '45', '51'], '45': ['38', '44', '46', '52'], '46': ['39', '45', '47', '53'], '47': ['40', '46', '48', '54'], '48': ['41', '47', '55'], '49': ['42', '56'], '50': ['43', '51', '57'], '51': ['44', '50', '52', '58'], '52': ['45', '51', '53', '59'], '53': ['46', '52', '54'], '54': ['47', '53', '55', '61'], '55': ['48', '54', '62'], '56': ['49', '57', '63'], '57': ['50', '56', '58', '64'], '58': ['51', '57', '59', '65'], '59': ['52', '58', '60', '66'], '60': ['59'], '61': ['54', '62', '68'], '62': ['55', '61', '69'], '63': ['56', '64', '70'], '64': ['57', '63', '65', '71'], '65': ['58', '64', '66', '72'], '66': ['59', '65', '67'], '67': ['66', '68'], '68': ['61', '67', '69', '75'], '69': ['62', '68', '76'], '70': ['63', '71', '77'], '71': ['64', '70', '72', '78'], '72': ['65', '71', '73', '79'], '73': ['72', '80'], '75': ['68', '76', '82'], '76': ['69', '75', '83'], '77': ['70', '78'], '78': ['71', '77', '79'], '79': ['72', '78', '80'], '80': ['73', '79', '81'], '81': ['80', '82'], '82': ['75', '81', '83'], '83': ['76', '82']}}

connectivityGraph의 사전은 Rigetti 디바이스.

를 선택합니다.IonQ Aria-1 디바이스

의 경우 IonQ Aria-1 다음 예제와 같이 디바이스가 all-to-all 연결을 제공하기 때문에 connectivityGraph는 비어 있습니다. 따라서 세부 정보는 필요하지 connectivityGraph 않습니다.

# or choose the IonQ Aria-1 device device = AwsDevice("arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1") # take a look at the device connectivity graph device.properties.dict()['paradigm']['connectivity']
{'fullyConnected': True, 'connectivityGraph': {}}

다음 예제와 같이 shots (기본값=1000), poll_timeout_seconds (기본값 = 432000 = 5일), poll_interval_seconds (기본값 = 1) 및 기본 버킷 이외의 위치를 지정하도록 선택하면 결과가 저장될 S3 버킷의 위치(s3_location)입니다.

my_task = device.run(circ, s3_location = 'amazon-braket-my-folder', shots=100, poll_timeout_seconds = 100, poll_interval_seconds = 10)

는 IonQ 그리고 Rigetti 디바이스는 제공된 회로를 해당 네이티브 게이트 세트에 자동으로 컴파일하고 추상 데이터를 매핑합니다.qubit 물리적 인덱스 qubits 해당 에서QPU.

참고

QPU 디바이스의 용량이 제한됩니다. 용량에 도달하면 대기 시간이 길어질 수 있습니다.

Amazon Braket는 특정 가용 기간 내에 QPU 양자 작업을 실행할 수 있지만 해당하는 모든 데이터와 메타데이터가 적절한 S3 버킷에 안정적으로 저장되므로 언제든지(24시간/7일) 양자 작업을 제출할 수 있습니다. 다음 섹션에서 볼 수 있듯이 AwsQuantumTask 및 고유한 양자 작업 ID를 사용하여 양자 작업을 복구할 수 있습니다.