62 lines
3.3 KiB
Plaintext
62 lines
3.3 KiB
Plaintext
---
|
|
title: Optimize for target hardware
|
|
description: Optimize abstract circuits and operators so they can run on quantum hardware.
|
|
---
|
|
|
|
# Optimize for target hardware
|
|
|
|
![All Qiskit pattern steps are shown (Map problem, Optimize for hardware, Execute on hardware, and Post-process results). The 'Optimize for hardware' step is emphasized. This step uses the Qiskit SDK and the Qiskit Transpiler Service.](/images/qiskit-patterns/optimize.svg)
|
|
|
|
In the "optimize for target hardware" step of a Qiskit pattern, you take the abstract circuits
|
|
(or operators) produced from the map step and perform a series of optimizations on them. This
|
|
can include mapping the route and layout of the circuit to physical qubit hardware, converting
|
|
to basis gates of the hardware, and reducing the number of operations, all designed to optimize
|
|
the likelihood of success in the later execute step. At this point you might also wish to debug
|
|
your circuits with a simulator before executing on real hardware in the next step.
|
|
|
|
During this step, abstract circuits must be transpiled to Instruction Set Architecture (ISA) circuits.
|
|
An ISA circuit is one that only consists of gates understood by the target hardware (basis gates), and
|
|
any multi-qubit gates needed to obey any connectivity constraints (coupling map). Only ISA circuits
|
|
can be run on IBM® hardware using IBM Qiskit Runtime.
|
|
|
|
## Guides for optimizing for target hardware
|
|
|
|
### Get started with the Qiskit transpiler
|
|
* [Introduction to transpilation](./transpile)
|
|
* [Transpiler stages](./transpiler-stages)
|
|
* [Transpile with pass managers](./transpile-with-pass-managers)
|
|
|
|
### Configure preset pass managers
|
|
* [Default settings and configuration options](./defaults-and-configuration-options)
|
|
* [Set optimization level](./set-optimization)
|
|
* [Commonly used parameters for transpilation](./common-parameters)
|
|
* [Represent quantum computers](./represent-quantum-computers)
|
|
|
|
### Advanced transpilation resources
|
|
* [Create a pass manager for dynamical decoupling](./dynamical-decoupling-pass-manager)
|
|
* [Write a custom transpiler pass](./custom-transpiler-pass)
|
|
* [Transpile against custom backends](./custom-backend)
|
|
* [Install and use transpiler plugins](./transpiler-plugins)
|
|
* [Create a transpiler plugin](./create-transpiler-plugin)
|
|
* [Transpile using REST API](./transpile-rest-api)
|
|
|
|
### Qiskit Transpiler Service
|
|
* [Transpile circuits remotely with the Qiskit Transpiler Service](./qiskit-transpiler-service)
|
|
* [AI transpiler passes](./ai-transpiler-passes)
|
|
|
|
### Debugging tools
|
|
* [Introduction to debugging tools](./debugging-tools)
|
|
* [Exact simulation with Qiskit SDK primitives](./simulate-with-qiskit-sdk-primitives)
|
|
* [Exact and noisy simulation with Qiskit Aer primitives](./simulate-with-qiskit-aer)
|
|
* [Qiskit Runtime local testing mode](./local-testing-mode)
|
|
* [Debug Qiskit Runtime jobs](./debug-qiskit-runtime-jobs)
|
|
* [Build noise models](./build-noise-models)
|
|
* [Plot quantum states](./plot-quantum-states)
|
|
* [Efficient simulation of stabilizer circuits with Qiskit Aer primitives](./simulate-stabilizer-circuits)
|
|
|
|
### Qiskit Functions
|
|
|
|
- [IBM Circuit function](/guides/ibm-circuit-function)
|
|
- [Algorithmiq Tensor-network error mitigation](/guides/algorithmiq-tem)
|
|
- [Q-CTRL Performance Management](/guides/q-ctrl-performance-management)
|
|
- [QEDMA QESEM](/guides/qedma-qesem) |