amazon-braket / amazon-braket/amazon-braket-sdk-python

Use Tracker to track number of tasks in LocalSimulator

Open
#975 3 comments 0 reactions 0 assignees View on GitHub
good first issue
Dominant language
Python
Stars
373
Forks
195
Avg merge
4d 15h
Merged PRs (30d)
8

Description

**Describe the feature you'd like**
Currently, the Tracker counts the number of on-demand tasks, but not LocalSimulator tasks. For example
```python
from braket.aws import AwsDevice
from braket.circuits import Circuit
from braket.tracking import Tracker

circ = Circuit().h(0).cnot(0,1)
device = AwsDevice("arn:aws:braket:::device/quantum-simulator/amazon/sv1")
with Tracker() as tracker:
task = device.run(circ, shots=1000).result()

print(tracker.quantum_tasks_statistics())
>> {'arn:aws:braket:::device/quantum-simulator/amazon/sv1':
{'shots': 1000,
'tasks': {'COMPLETED': 1},
'execution_duration': datetime.timedelta(microseconds=4000),
'billed_execution_duration': datetime.timedelta(seconds=3)}}

print(tracker.simulator_tasks_cost())
>> $0.00375
```
The proposal is to add this functionality to track task counts on local simulator like this:
```python
from braket.aws import AwsDevice
from braket.circuits import Circuit
from braket.tracking import Tracker
from braket.devices import LocalSimulator

circ = Circuit().h(0).cnot(0,1)
device = LocalSimulator()
with Tracker() as tracker:
task = device.run(circ, shots=1000).result()

print(tracker.quantum_tasks_statistics())
>> {'braket:local/simulator':
{'shots': 1000,
'tasks': {'COMPLETED': 1},
'execution_duration': datetime.timedelta(microseconds=4000),
'billed_execution_duration': None}}

print(tracker.simulator_tasks_cost())
>> $0
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.