本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon Braket 混合式任務執行混合任務
若要使用 Amazon Braket 混合式工作執行混合作業,您首先需要定義演算法。您可以透過撰寫演算法指令碼和選擇性地使用 Amazon Braket Python 開發套
在任何一種情況下,接下來都要使用 Amazon Braket API 建立混合任務 (提供演算法指令碼或容器),選取混合任務要使用的目標量子裝置,然後從各種選用設定中進行選擇。為這些可選設定提供的預設值適用於大多數使用案例。若要讓目標裝置執行您的混合式 Job,您可以選擇 QPU、隨選模擬器 (例如SV1、DM1或TN1) 或傳統混合式作業執行個體本身。使用隨選模擬器或 QPU,您的混合式任務容器會對遠端裝置進行 API 呼叫。使用嵌入式模擬器,模擬器嵌入到與算法腳本相同的容器中。來自 PennyLane 的閃電模擬器
![流程圖顯示使用者與 Amazon Braket 元件、API、任務執行個體以及混合式、QPU、隨需和嵌入式任務的模擬器互動。結果存儲在 Amazon 簡單存儲服務存儲桶中,並使用 Amazon Braket 控制台 CloudWatch 上的亞馬遜進行分析。](images/braket-hybrid-job-run.png)
如果您的目標裝置是隨選或嵌入式模擬器,Amazon Braket 會立即開始執行混合任務。它會啟動混合任務執行個體 (您可以在API呼叫中自訂執行個體類型)、執行演算法、將結果寫入 Amazon S3,然後釋放資源。此版本的資源可確保您只需按使用量付費。
每個量子處理單元 (QPU) 同時混合作業的總數受到限制。現在,只有一個混合式工作可以在任何給定的時間在 QPU 上執行。佇列是用來控制允許執行的混合式作業數目,以免超過允許的限制。如果您的目標裝置是 QPU,則混合任務會先進入所選 QPU 的作業佇列。Amazon Braket 會啟動所需的混合式任務執行個體,並在裝置上執行您的混合任務。在演算法期間,您的混合任務具有優先權存取,這意味著您混合任務中的量子任務會在裝置上排入佇列的其他 Braket 量子任務之前執行,前提是工作量子任務每隔幾分鐘提交到 QPU 一次。一旦您的混合工作完成,資源就會釋放,這意味著您只需按使用量付費。
注意
裝置是區域性的,而您的混合任務則與您 AWS 區域 的主要裝置相同。
在模擬器和 QPU 目標案例中,您可以選擇定義自訂演算法度量,例如哈密頓的能量,做為演算法的一部分。這些指標會自動報告給亞馬遜, CloudWatch 並從那裡以近乎即時的方式顯示在 Amazon Braket 主控台中。
注意
如果您想要使用以 GPU 為基礎的執行個體,請務必使用 Braket 上嵌入式模擬器提供的其中一種 GPU 模擬器 (例如)。lightning.gpu
如果您選擇其中一個以 CPU 為基礎的嵌入式模擬器 (例如、或braket:default-simulator
)lightning.qubit
,將不會使用 GPU,而且可能會產生不必要的費用。