Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change qpu complex wording #1109

Merged
merged 14 commits into from
Sep 28, 2023
2 changes: 1 addition & 1 deletion docs/cloud/cost.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Time limits on programs

The maximum execution time for the Sampler primitive is 10000 seconds (2.78 hours). The maximum execution time for the Estimator primitive is 18000 seconds (5 hours).

Additionally, the system limit on the job execution time is 3 hours for a job that is running on a simulator and 8 hours for a job running on a physical system.
Additionally, the system limit on the system execution time is 3 hours for a job that is running on a simulator and 8 hours for a job running on a physical system.

How to limit your cost
***********************
Expand Down
12 changes: 5 additions & 7 deletions docs/faqs/max_execution_time.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ a job exceeds this time limit, it is forcibly cancelled and a ``RuntimeJobMaxTim
exception is raised.

.. note::
As of August 7, 2023, the ``max_execution_time`` value is based on job execution time, which is the time that the QPU
As of August 7, 2023, the ``max_execution_time`` value is based on system execution time, which is the time that the QPU
complex (including control software, control electronics, QPU, and so on) is engaged in
processing the job, instead of wall clock time.

Expand All @@ -31,12 +31,12 @@ You can set the maximum execution time (in seconds) on the job options by using
# Create the options object with attributes and values
options = {"max_execution_time": 360}

You can also find the job execution time for previously completed jobs by using:
You can also find the system execution time for previously completed jobs by using:

.. code-block:: python

# Find the job execution time
print(f"Job {job.job_id()} job execution time was {job.metrics()['usage']['seconds']} seconds")
# Find the system execution time
print(f"Job {job.job_id()} system execution time was {job.metrics()['usage']['seconds']} seconds")

In addition, the system calculates an appropriate job timeout value based on the
input circuits and options. This system-calculated timeout is currently capped
Expand Down Expand Up @@ -86,6 +86,4 @@ Other limitations

- Programs cannot exceed 750KB in size.
- Inputs to jobs cannot exceed 64MB in size.
- Open plan users are limited to 10 minutes of job execution time per month. This is the time that the QPU
complex (including control software, control electronics, QPU, and so on) is engaged in
processing the job. Open plan users can track current progress toward the limit on the `Platform dashboard, <https://quantum-computing.ibm.com/>`__ `Jobs, <https://quantum-computing.ibm.com/jobs>`__ and `Account, <https://quantum-computing.ibm.com/account>`__ pages.
- 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-computing.ibm.com/>`__ `Jobs, <https://quantum-computing.ibm.com/jobs>`__ and `Account <https://quantum-computing.ibm.com/account>`__ pages.
8 changes: 4 additions & 4 deletions qiskit_ibm_runtime/options/options.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,10 @@ class Options:
for more information about the error mitigation methods used at each level.

max_execution_time: Maximum execution time in seconds, which is based
on quantum time (not wall clock time). Quantum time is the time that
the QPU complex (including control software, control electronics, QPU, and so on)
is engaged in processing the job. If a job exceeds this time limit, it is forcibly cancelled.
Simulator jobs continue to use wall clock time because they do not have quantum time.
on system execution time (not wall clock time). System execution time is
the amount of time that the system is dedicated to processing your job.
If a job exceeds this time limit, it is forcibly cancelled.
Simulator jobs continue to use wall clock time.

Refer to the
`Max execution time documentation
Expand Down
4 changes: 2 additions & 2 deletions qiskit_ibm_runtime/runtime_job.py
Original file line number Diff line number Diff line change
Expand Up @@ -664,9 +664,9 @@ def usage_estimation(self) -> Dict[str, Any]:
"""Return the usage estimation infromation for this job.

Returns:
``quantum_seconds`` which is the estimated quantum time
``quantum_seconds`` which is the estimated system execution time
of the job in seconds. Quantum time represents the time that
the QPU complex is occupied exclusively by the job.
the system is dedicated to processing your job.
"""
if not self._usage_estimation:
response = self._api_client.job_get(job_id=self.job_id())
Expand Down
9 changes: 4 additions & 5 deletions qiskit_ibm_runtime/runtime_options.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,10 @@ def __init__(
job_tags: Tags to be assigned to the job. The tags can subsequently be used
as a filter in the :meth:`jobs()` function call.
max_execution_time: Maximum execution time in seconds, which is based
on quantum time (not wall clock time). Quantum time is the time that
the QPU complex (including control software, control electronics, QPU, and so on)
is engaged in processing the job. If a job exceeds this time limit, it is forcibly
cancelled. Simulator jobs continue to use wall clock time because they do not have
quantum time.
on system execution time (not wall clock time). System execution time is the
amount of time that the system is dedicated to processing your job. If a job exceeds
this time limit, it is forcibly cancelled. Simulator jobs continue to use wall
clock time.
session_time: Length of session in seconds.
"""
self.backend = backend
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
features:
- |
Added a new property, :meth:`~qiskit_ibm_runtime.RuntimeJob.usage_estimation`
that returns the estimated running time, ``quantum_seconds``. Quantum time
represents the time that the QPU complex is occupied exclusively by the job.
that returns the estimated system execution time, ``quantum_seconds``. System execution time
represents the amount of time that the system is dedicated to processing your job.
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
---
fixes:
- |
The `max_execution_time` option is now based on quantum time instead of wall clock time.
Quantum time is the time that the QPU complex
(including control software, control electronics, QPU, and so on)
is engaged in processing the job. If a job exceeds this time limit, it is forcibly cancelled.
Simulator jobs continue to use wall clock time because they do not have quantum time.
The `max_execution_time` option is now based on system execution time instead of wall clock time.
System execution time is the amount of time that the system is dedicated to processing your job.
If a job exceeds this time limit, it is forcibly cancelled.
Simulator jobs continue to use wall clock time.
2 changes: 1 addition & 1 deletion releasenotes/notes/job-quota-warning-0512f30571897f53.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
features:
- |
There will now be a warning if a user submits a job that is predicted to
exceed their job execution time monthly quota of 10 minutes.
exceed their system execution time monthly quota of 10 minutes.
This only applies to jobs run on real hardware in the instance ``ibm-q/open/main``.
If the job does end up exceeding the quota, it will be canceled.
Loading