Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

Amazon Braket での CUDA-Q の使用

フォーカスモード
Amazon Braket での CUDA-Q の使用 - Amazon Braket

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

NVIDIA’s CUDA-Q は、CPUs、GPUs、量子処理ユニット (QPUs。統合されたプログラミングモデルを提供し、デベロッパーは 1 つのプログラム内で古典的な指示と量子指示の両方を表現し、ワークフローを合理化できます。 は、組み込みの CPU および GPU シミュレーターを使用して量子プログラムのシミュレーションとランタイムをCUDA-Q高速化します。

Amazon Braket Hybrid Jobs CUDA-Qで を使用すると、柔軟なオンデマンドコンピューティング環境が提供されます。コンピューティングインスタンスはワークロードの期間中のみ実行され、使用した分だけ料金が発生します。Amazon Braket Hybrid Jobs はスケーラブルなエクスペリエンスも提供します。ユーザーは、プロトタイプ作成とテストのために小さなインスタンスから始めて、完全な実験のためにより大きなワークロードを処理できる大きなインスタンスにスケールアップできます。

Amazon Braket Hybrid Jobs は、 CUDA-Qの可能性を最大化するために不可欠な GPUs をサポートしています。GPUs、特に高量子ビット数の回路を使用する場合に、CPU ベースのシミュレーターと比較して量子プログラムのシミュレーションを大幅に高速化します。Amazon Braket Hybrid Jobs CUDA-Qで を使用すると、並列化が簡単になります。Hybrid Jobs は、回路サンプリングと観測可能な評価の複数の計算ノードへの分散を簡素化します。このCUDA-Qワークロードのシームレスな並列化により、ユーザーは大規模な実験のためのインフラストラクチャを設定するのではなく、ワークロードの開発に集中できます。

開始するには、Amazon Braket CUDA-Q の例 Github のスターターの例を参照して、独自のコンテナ (BYOC) CUDA-Qを使用して がサポートするジョブコンテナを作成します。CUDA-Q コンテナを構築して Amazon ECR リポジトリに公開するための適切な IAM アクセス許可があることを確認してください。

次のコードスニペットは、Amazon Braket Hybrid Jobs でCUDA-Qプログラムを実行するhello-world例です。

image_uri = "<ecr-image-uri>" @hybrid_job(device='local:nvidia/qpp-cpu', image_uri=image_uri) def hello_quantum(): import cudaq # define the backend device=get_job_device_arn() cudaq.set_target(device.split('/')[-1]) # define the Bell circuit kernel = cudaq.make_kernel() qubits = kernel.qalloc(2) kernel.h(qubits[0]) kernel.cx(qubits[0], qubits[1]) # sample the Bell circuit result = cudaq.sample(kernel, shots_count=1000) measurement_probabilities = dict(result.items()) return measurement_probabilities

上記の例では、CPU シミュレーターのベル回路をシミュレートします。この例では、ラップトップまたは Braket Jupyter Notebook でローカルに実行されます。local=True 設定のため、このスクリプトを実行すると、ローカル環境でコンテナが開始され、テストとデバッグのために CUDA-Q プログラムが実行されます。テストが完了したら、 local=Trueフラグを削除してジョブを実行できます AWS。詳細については、Amazon Braket Hybrid Jobs の開始方法」を参照してください。

ワークロードのクォービット数が多い場合、多数の回路または多数の反復がある場合、 instance_config設定を指定することで、より強力な CPU コンピューティングリソースを使用できます。次のコードスニペットは、 hybrid_jobデコレータで instance_configを設定する方法を示しています。サポートされているインスタンスタイプの詳細については、「スクリプトを実行するようにハイブリッドジョブインスタンスを設定する」を参照してください。インスタンスタイプのリストについては、Amazon EC2 インスタンスタイプ」を参照してください。

@hybrid_job( device="local:nvidia/qpp-cpu", image_uri=image_uri, instance_config=InstanceConfig(instanceType="ml.c5.2xlarge"), ) def my_job_script(): ...

より要求の厳しいワークロードの場合は、CUDA-QGPU シミュレーターでワークロードを実行できます。GPU シミュレーターを有効にするには、バックエンド名 を使用しますnvidianvidia バックエンドは CUDA-Q GPU シミュレーターとして動作します。次に、NVIDIAGPU をサポートする Amazon EC2 インスタンスタイプを選択します。次のコードスニペットは、GPU 設定のhybrid_jobデコレータを示しています。

@hybrid_job( device="local:nvidia/nvidia", image_uri=image_uri, instance_config=InstanceConfig(instanceType="ml.p3.2xlarge"), ) def my_job_script(): ...

Amazon Braket Hybrid Jobs は、 を使用した並列 GPU シミュレーションをサポートしていますCUDA-Q。複数のオブザーバビリティまたは複数の回路の評価を並列化して、ワークロードのパフォーマンスを向上させることができます。複数のオブザーバビリティを並列化するには、アルゴリズムスクリプトに次の変更を加えます。

nvidia バックエンドの mgpuオプションを設定します。これは、オブザーバビリティを並列化するために必要です。並列化では GPUs 間の通信に MPI を使用するため、MPI は実行前に初期化し、実行後に確定する必要があります。

次に、 を設定して実行モードを指定しますexecution=cudaq.parallel.mpi。次のコードスニペットは、これらの変更を示しています。

cudaq.set_target("nvidia", option="mqpu") cudaq.mpi.initialize() result = cudaq.observe( kernel, hamiltonian, shots_count=n_shots, execution=cudaq.parallel.mpi ) cudaq.mpi.finalize()

hybrid_jobコレータで、次のコードスニペットに示すようにGPUs をホストするインスタンスタイプを指定します。

@hybrid_job( device="local:nvidia/nvidia-mqpu", instance_config=InstanceConfig(instanceType="ml.p3.8xlarge", instanceCount=1), image_uri=image_uri, ) def parallel_observables_gpu_job(sagemaker_mpi_enabled=True): ...

Amazon Braket の例 Github の並列シミュレーションノートブックは、GPU バックエンドで量子プログラムシミュレーションを実行し、オブザーバビリティと回路バッチの並列シミュレーションを実行する方法を示すend-to-endの例を提供します。

量子コンピュータでのワークロードの実行

シミュレーターテストが完了したら、QPUs での実験の実行に移行できます。ターゲットを 、、IonQまたは Rigetti デバイスなどの Amazon Braket QPU IQMに切り替えるだけです。次のコードスニペットは、ターゲットをIQM Garnetデバイスに設定する方法を示しています。使用可能な QPUsAmazon Braket コンソール」を参照してください。

device_arn = "arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet" cudaq.set_target("braket", machine=device_arn)

Amazon Braket Hybrid Jobs の詳細については、デベロッパーガイドのAmazon Braket Hybrid Jobs の使用」を参照してください。CUDA-Q の詳細については、CUDA-Q ドキュメントを参照してください。

このページの内容

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.