

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

# 量子タスクはいつ実行されますか?
<a name="braket-task-when"></a>

回路を送信すると、Amazon Braket は指定したデバイスに送信します。量子処理ユニット (QPU) およびオンデマンドシミュレーターの量子タスクは、受信された順序でキューに入れられ、処理されます。量子タスクを送信後に処理するために必要な時間は、他の Amazon Braket のカスタマーから送信されたタスクの数と複雑さ、および選択した QPU の可用性によって変わります。

**Topics**
+ [QPU の可用性ウィンドウとステータス](#braket-qpu-availability)
+ [キューの可視性](#braket-queue-visibility)
+ [E メールまたは SMS 通知の設定](status-change-notifications-in-email-or-sms.md)

## QPU の可用性ウィンドウとステータス
<a name="braket-qpu-availability"></a>

QPU の可用性はデバイスによって異なります。

Amazon Braket コンソールの **[デバイス]** ページには、各デバイスの現在および今後の可用性ウィンドウとデバイスステータスが表示されます。さらに、各デバイスページには、量子タスクとハイブリッドジョブの個々のキューの深さも表示されます。

可用性ウィンドウに関係なく、カスタマーが利用できない場合、デバイスは*オフライン*と見なされます。例えば、スケジュールされたメンテナンス、アップグレード、または運用上の問題により、オフラインになる可能性があります。

## キューの可視性
<a name="braket-queue-visibility"></a>

量子タスクまたはハイブリッドジョブを送信する前に、デバイスキューの深さを確認することで、既存の量子タスクまたはハイブリッドジョブの数を確認できます。

**キューの深さ**

Queue depth とは、特定のデバイスに対してキューに入れられた量子タスクとハイブリッドジョブの数のことです。デバイスの量子タスクとハイブリッドジョブキューの数を知るには、Braket Software Development Kit (SDK) または Amazon Braket Management Console を使用します。

1. *タスクキューの深さ*は、通常の優先度で現在実行を待っている量子タスクの合計数のことです。

1. *優先度タスクキューの深さ*は、Amazon Braket Hybrid Jobs での実行を待機している送信済み量子タスクの合計数のことです。これらのタスクは、スタンドアロンタスクの前に実行されます。

1. *ハイブリッドジョブキューの深さ*は、現在デバイスのキューに入っているハイブリッドジョブの合計数のことです。ハイブリッドジョブの一部として送信された Quantum tasks は、Priority Task Queue に集約され、高い優先度が付けられます。

Braket SDK を使用してキューの深さを表示する場合は、次のコードスニペットを変更して、量子タスクまたはハイブリッドジョブのキュー位置を取得できます。

```
device = AwsDevice("arn:aws:braket:us-east-1::device/qpu/ionq/Forte-Enterprise-1")

# returns the number of quantum tasks queued on the device 
print(device.queue_depth().quantum_tasks)
{<QueueType.NORMAL: 'Normal'>: '0', <QueueType.PRIORITY: 'Priority'>: '0'}


# returns the number of hybrid jobs queued on the device
print(device.queue_depth().jobs)
'3'
```

QPU に量子タスクまたはハイブリッドジョブを送信すると、ワークロードが `QUEUED` 状態になる可能性があります。Amazon Braket は、量子タスクとハイブリッドジョブのキュー位置をカスタマーに表示します。

**キュー位置**

Queue position とは、量子タスクまたはハイブリッドジョブの、各デバイスキュー内での現在の位置のことです。量子タスクまたはハイブリッドジョブのキュー位置を取得するには、Braket Software Development Kit (SDK) または Amazon Braket Management Console を使用します。

Braket SDK を使用してキュー位置を表示したいカスタマーは、次のコードスニペットを変更して、量子タスクまたはハイブリッドジョブのキュー位置を取得できます。

```
# choose the device to run your circuit 
device = AwsDevice("arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet")
 
#execute the circuit 
task = device.run(bell, s3_folder, shots=100)

# retrieve the queue position information
print(task.queue_position().queue_position)
    
# Returns the number of Quantum Tasks queued ahead of you
'2'
        

from braket.aws import AwsQuantumJob

job = AwsQuantumJob.create(
    "arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet",
    source_module="algorithm_script.py",
    entry_point="algorithm_script:start_here",
    wait_until_complete=False
)

# retrieve the queue position information
print(job.queue_position().queue_position)
'3' # returns the number of hybrid jobs queued ahead of you
```