Skip to content

Conversation

@abbycross
Copy link
Collaborator

@abbycross abbycross commented Nov 25, 2025

CC: @jyu00

Consolidate two files containing similar/overlapping content: Get backend information with Qiskit and QPU information.

@Eric-Arellano @frankharkins @arnaucasau FYI: when it is time to merge, can you please set up a redirect from qpu-information.mdx to get-qpu-information.ipynb?

Closes #4249

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@abbycross abbycross changed the title Ajc/consolidate qpu info Consolidate two similar pages (get-qpu-information and qpu-information) Nov 26, 2025
Copy link
Collaborator

@jyu00 jyu00 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry if I reviewed too early... didn't realize it's still in draft!

Comment on lines 529 to 530
"### Details section\n",
"\n",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All of these fields (with the exception of region) is also available in backend properties. This is why we wanted to merge these 2 pages together, since this is duplicate information.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right - so do you want me to add to each field the code to get it programmatically (some of it is in the first half of the page)? Or just state more clearly in the Platform section of this page, that you can also use Qiskit to find all of these?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps this page can be organized so that each section first introduces the data, then explain how to get that data from Qiskit / IQP. It'd be nice if we can have clickable tabs to show Qiskit vs IQP.

For example, we can have these sections

  • Static QPU information
  • Dynamic QPU information
  • List and filter backends

And Static QPU information can say

Static QPU information

Some information about a backend does not change regularly, such as its name, version, the number of qubits it has, and the types of features it supports.

Native gates and operations

Each processor family has a native gate set. By default, the QPUs in each family only support running the gates and operations in the native gate set. Thus, every gate in the circuit must be translated (by the transpiler) to the elements of this set.

View with Qiskit | View on IQP (these are clickable tabs)

QPU versioning

...

And for the Dynamic QPU information section it'd just list out the attributes such as T1, T2, 2Q error, etc. Then clickable tabs to show how to find that data via Qiskit and IQP.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jyu00 should I remove the headers "Qubit properties" and "Instruction properties", and just put them all together under Dynamic QPU info?

@abbycross abbycross linked an issue Dec 5, 2025 that may be closed by this pull request
"\n",
"### QPU versioning\n",
"\n",
"Each QPU has a version number in the form X.Y.Z (major.minor.revision). A circuit compiled for a given version number is guaranteed to run on that QPU. If the revision number changes, the circuit will continue to run. If the major or minor number changes, the circuit is not guaranteed to run, although it may do so.\n",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A circuit compiled for a given version number is guaranteed to run on that QPU

I don't know if this statement is really true. For example, I'm not sure if the version number changed when we toggled dynamic circuits support. I'll ask in Jan when people are back.

Comment on lines +301 to +303
"Each [processor family](/docs/guides/processor-types) has a native gate set. By default, the QPUs in each family only support running the gates and operations in the native gate set. Thus, every gate in the circuit must be translated (by the transpiler) to the elements of this set.\n",
"\n",
"You can view the native gates and supported instructions, including non-gate-type instructions, for a QPU with Qiskit. The IBM Quantum Platform Compute resources page lists the basis gates for a QPU.\n",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally I dislike the use of native gate set to also include non-gate-type operations. I think we should just say supported instructions to match the Qiskit method. Here's my suggestion

Every processor family natively supports a limited set of instructions. This set includes single- and two-qubit gates, as well as non-unitary operations such as measure and reset. Every gate in the circuit must be translated (by the transpiler) to the elements of a QPU's supported instruction set before it can run on the QPU.

You can view the supported instruction sets for a QPU with Qiskit. The IBM Quantum Platform Compute resources page lists only the supported unitary gates (basis gates) for a QPU.

In addition, this page should be updated to use the same wording. The use of basis gates there is different from the basis gates on IQP 😅

"| | |\n",
"| --- | --- |\n",
"| **View with Qiskit** | `backend.properties().t1(qubit)` |\n",
"| **View on IBM Quantum Platform** | Details section |\n",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"| **View on IBM Quantum Platform** | Details section |\n",
"| **View on IBM Quantum Platform** | Qubits section in QPU detailed view|\n",

Assuming this fits inside the cell..

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I used "Details" section bc on the interface, the section is labeled "Details". Does that change how you want it labeled?
Screenshot 2025-12-17 at 9 47 46 AM

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added Qubit because this page has a lot of information, and it may not be obvious this is under the dropdown menu under Qubit:

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gotcha 👍

"| **View with Qiskit** | `backend.properties().frequency(qubit)` |\n",
"| **View on IBM Quantum Platform** | Calibration data section, graph view |\n",
"\n",
"#### `anharmonicity`\n",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll need to investigate more about frequency and anharmonicity, to see if they are no longer reported or is just broken in qiskit-ibm-runtime.

"id": "67525443-070e-4798-99b3-72a599bf96c8",
"metadata": {},
"source": [
"### Instruction properties\n",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know you're not done merging the pages, but instruction properties are also available on IQP - e.g. single qubit gate length under Qubit.

Similarly, everything available on IQP should be queryable from Qiskit.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do all properties fit neatly under the two subheadings of "Instruction properties" and Qubit properties"? Or do we dispense with the subheaders and just list all properties in the Dynamic backend information section ?
Either way, I plan to do an in-page toc to easily jump to a property - as in what we do here in the current page:
Screenshot 2025-12-17 at 9 52 14 AM

Copy link
Collaborator

@jyu00 jyu00 Dec 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do all properties fit neatly under the two subheadings of "Instruction properties" and Qubit properties"?

Unfortunately no. But we can have a third "Additional information" (or some better name) for other backend data like total pending jobs and CLOPS.

I think it'd help dividing them into sections... even better if the sections can be collapsed 😄.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will collapse them!
Other than CLOPS and total pending - what else falls under "Additional information"?

Co-authored-by: Jessie Yu <jessieyu@us.ibm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

Combine QPU information and Get backend information qpu-information and get-qpu-information

2 participants