61 lines
3.1 KiB
Plaintext
61 lines
3.1 KiB
Plaintext
---
|
|
title: Maximum execution time for a Qiskit Runtime job or session
|
|
description: Describes how long a Qiskit Runtime job can run, regardless of what execution mode is used.
|
|
|
|
---
|
|
|
|
# Maximum execution time for a Qiskit Runtime job or session
|
|
|
|
To ensure fairness and help control costs, there is a maximum amount of time each Qiskit Runtime job can run. If a job exceeds this time limit, it is forcibly canceled and a `RuntimeJobMaxTimeoutError` exception is raised.
|
|
|
|
<span id="max-job"></span>
|
|
## Job maximum execution time
|
|
|
|
The maximum execution time for a job is the smaller of these values:
|
|
|
|
- The value set for max_execution_time
|
|
- The system-determined job timeout value
|
|
|
|
The `max_execution_time` value is based on _quantum time_, not wall clock time. Quantum time is the time spent by the QPU complex to process the job. Simulator jobs use wall clock time because they do not have quantum time.
|
|
|
|
Set the maximum execution time (in seconds) on the job options by using one of the following methods:
|
|
|
|
```python
|
|
# Initiate the Options class with parameters
|
|
options = Options(max_execution_time=360)
|
|
```
|
|
|
|
```python
|
|
# Create the options object with attributes and values
|
|
options = {"max_execution_time": 360}
|
|
```
|
|
|
|
You can also find how much quantum time completed jobs have used by returning the job metrics as follows:
|
|
|
|
```python
|
|
# Find quantum time used by the job
|
|
print(f"Quantum time used by job {job.job_id()} was {job.metrics()['usage']['quantum_seconds']} seconds")
|
|
```
|
|
|
|
<span id="max-system"></span>
|
|
### System maximum execution time
|
|
|
|
The system calculates an appropriate job timeout value based on the input circuits and options. This system-calculated timeout is capped at 3 hours to ensure fair device usage. If a `max_execution_time` is also specified for the job, the lesser of the two values is used.
|
|
|
|
For example, if you specify `max_execution_time=5000` (approximately 83 minutes), but the system determines it should not take more than 5 minutes (300 seconds) to execute the job, then the job is canceled after 5 minutes.
|
|
|
|
## Session maximum execution time
|
|
|
|
When a session is started, it is assigned a maximum session timeout value. After this timeout is reached, the session is terminated, any jobs that are already running continue running, and any queued jobs that remain in the session are put into a failed state. For instructions to set the session maximum time, see [Specify the session length](./run-jobs-session#specify-length).
|
|
|
|
## Other limitations
|
|
|
|
* Inputs to jobs cannot exceed 64MB in size.
|
|
* Open plan users can use up to 10 minutes of system execution time per month (resets at 00:00 UTC on the first of each month). System execution time is the amount of time that the system is dedicated to processing your job. You can track your monthly usage on the [Platform dashboard,](https://quantum.ibm.com/) [IBM Quantum™ Platform Jobs page,](https://quantum.ibm.com/jobs) and [Account](https://quantum.ibm.com/account) page.
|
|
|
|
## Next steps
|
|
|
|
<Admonition type="tip" title="Recommendations">
|
|
- [Estimate job run time](estimate-job-run-time).
|
|
- Review these tips: [Minimize job run time](minimize-time).
|
|
</Admonition> |