diff --git a/docs/guides/_toc.json b/docs/guides/_toc.json index b9ec29e0be5..9eb6b0df41a 100644 --- a/docs/guides/_toc.json +++ b/docs/guides/_toc.json @@ -163,6 +163,10 @@ "title": "Create a pass manager for dynamical decoupling", "url": "/docs/guides/dynamical-decoupling-pass-manager" }, + { + "title": "AI-powered transpiler passes", + "url": "/docs/guides/ai-transpiler-passes" + }, { "title": "Configure preset pass managers", "children": [ @@ -251,8 +255,8 @@ "url": "/docs/guides/simulate-with-qiskit-aer" }, { - "title": "Exact simulation with Qiskit SDK primitives", - "url": "/docs/guides/simulate-with-qiskit-sdk-primitives" + "title": "Exact simulation with Qiskit SDK primitives", + "url": "/docs/guides/simulate-with-qiskit-sdk-primitives" }, { "title": "Build noise models", @@ -261,7 +265,8 @@ { "title": "Efficient simulation of stabilizer circuits with Qiskit Aer primitives", "url": "/docs/guides/simulate-stabilizer-circuits" - } ] + } + ] }, { "title": "Visualization", @@ -346,17 +351,17 @@ "title": "Introduction to IBM Quantum services", "url": "/docs/guides/compute-services" }, - { + { "title": "Install", "children": [ { "title": "Install the Qiskit Runtime client", "url": "/docs/guides/install-qiskit-runtime" }, - { + { "title": "Install the Qiskit Runtime client from source", "url": "/docs/guides/install-qiskit-runtime-source" - } + } ] }, { @@ -487,153 +492,154 @@ } ] }, + { + "title": "Execute with primitives", + "children": [ + { + "title": "Introduction to primitives", + "url": "/docs/guides/qiskit-runtime-primitives" + }, + { + "title": "Directed execution model (beta)", + "url": "/docs/guides/directed-execution-model" + }, + { + "title": "Introduction to options", + "url": "/docs/guides/runtime-options-overview" + }, + { + "title": "Estimator", + "children": [ { - "title": "Execute with primitives", - "children": [ - { - "title": "Introduction to primitives", - "url": "/docs/guides/qiskit-runtime-primitives" - }, - { - "title": "Directed execution model (beta)", - "url": "/docs/guides/directed-execution-model" - }, - { - "title": "Introduction to options", - "url": "/docs/guides/runtime-options-overview" - }, - { - "title": "Estimator", - "children": [ - { - "title": "Get started", - "url": "/docs/guides/get-started-with-estimator" - }, - { - "title": "Inputs and outputs", - "url": "/docs/guides/estimator-input-output" - }, - { - "title": "Options", - "url": "/docs/guides/estimator-options" - }, - { - "title": "Configure noise management", - "url": "/docs/guides/estimator-noise-management" - }, - { - "title": "Examples", - "url": "/docs/guides/estimator-examples" - }, - { - "title": "REST API", - "url": "/docs/guides/estimator-rest-api" - } - ] - }, - { - "title": "Sampler", - "children": [ - { - "title": "Get started", - "url": "/docs/guides/get-started-with-sampler" - }, - { - "title": "Inputs and outputs", - "url": "/docs/guides/sampler-input-output" - }, - { - "title": "Options", - "url": "/docs/guides/sampler-options" - }, - { - "title": "Configure noise management", - "url": "/docs/guides/sampler-noise-management" - }, - { - "title": "Examples", - "url": "/docs/guides/sampler-examples" - }, - { - "title": "REST API", - "url": "/docs/guides/sampler-rest-api" - } - ] - }, - { - "title": "Executor", - "isNew": true, - "isNewDate": "2026-05-15", - "children": [ - { - "title": "Get started", - "url": "/docs/guides/get-started-with-executor" - }, - { - "title": "Inputs and outputs", - "url": "/docs/guides/executor-input-output" - }, - { - "title": "Broadcasting", - "url": "/docs/guides/executor-broadcasting" - }, - { - "title": "Options", - "url": "/docs/guides/executor-options" - }, - { - "title": "Examples", - "url": "/docs/guides/executor-examples" - } ] - }, - { - "title": "Manage noise", - "children": [ - { - "title": "Overview of noise management techniques", - "url": "/docs/guides/error-mitigation-overview" - }, - { - "title": "Error mitigation and suppression", - "url": "/docs/guides/error-mitigation-and-suppression-techniques" - }, - { - "title": "Noise learning", - "url": "/docs/guides/noise-learning" - }, - { - "title": "Use postselection in workloads", - "url": "/docs/guides/post-selection" - } - ] - }, - { - "title": "Debug Qiskit Runtime jobs", - "url": "/docs/guides/debug-qiskit-runtime-jobs" - }, - { - "title": "Qiskit Runtime local testing mode", - "url": "/docs/guides/local-testing-mode" - } - ] - }, - { - "title": "Advanced execution features", + "title": "Get started", + "url": "/docs/guides/get-started-with-estimator" + }, + { + "title": "Inputs and outputs", + "url": "/docs/guides/estimator-input-output" + }, + { + "title": "Options", + "url": "/docs/guides/estimator-options" + }, + { + "title": "Configure noise management", + "url": "/docs/guides/estimator-noise-management" + }, + { + "title": "Examples", + "url": "/docs/guides/estimator-examples" + }, + { + "title": "REST API", + "url": "/docs/guides/estimator-rest-api" + } + ] + }, + { + "title": "Sampler", "children": [ { - "title": "Fractional gates", - "url": "/docs/guides/fractional-gates" + "title": "Get started", + "url": "/docs/guides/get-started-with-sampler" }, { - "title": "Execute dynamic circuits", - "url": "/docs/guides/execute-dynamic-circuits" + "title": "Inputs and outputs", + "url": "/docs/guides/sampler-input-output" }, { - "title": "Visualize circuit timing", - "url": "/docs/guides/qiskit-runtime-circuit-timing" + "title": "Options", + "url": "/docs/guides/sampler-options" + }, + { + "title": "Configure noise management", + "url": "/docs/guides/sampler-noise-management" + }, + { + "title": "Examples", + "url": "/docs/guides/sampler-examples" + }, + { + "title": "REST API", + "url": "/docs/guides/sampler-rest-api" } ] }, + { + "title": "Executor", + "isNew": true, + "isNewDate": "2026-05-15", + "children": [ + { + "title": "Get started", + "url": "/docs/guides/get-started-with-executor" + }, + { + "title": "Inputs and outputs", + "url": "/docs/guides/executor-input-output" + }, + { + "title": "Broadcasting", + "url": "/docs/guides/executor-broadcasting" + }, + { + "title": "Options", + "url": "/docs/guides/executor-options" + }, + { + "title": "Examples", + "url": "/docs/guides/executor-examples" + } + ] + }, + { + "title": "Manage noise", + "children": [ + { + "title": "Overview of noise management techniques", + "url": "/docs/guides/error-mitigation-overview" + }, + { + "title": "Error mitigation and suppression", + "url": "/docs/guides/error-mitigation-and-suppression-techniques" + }, + { + "title": "Noise learning", + "url": "/docs/guides/noise-learning" + }, + { + "title": "Use postselection in workloads", + "url": "/docs/guides/post-selection" + } + ] + }, + { + "title": "Debug Qiskit Runtime jobs", + "url": "/docs/guides/debug-qiskit-runtime-jobs" + }, + { + "title": "Qiskit Runtime local testing mode", + "url": "/docs/guides/local-testing-mode" + } + ] + }, + { + "title": "Advanced execution features", + "children": [ + { + "title": "Fractional gates", + "url": "/docs/guides/fractional-gates" + }, + { + "title": "Execute dynamic circuits", + "url": "/docs/guides/execute-dynamic-circuits" + }, + { + "title": "Visualize circuit timing", + "url": "/docs/guides/qiskit-runtime-circuit-timing" + } + ] + }, { "title": "IBM quantum computers", "children": [ @@ -753,19 +759,6 @@ "url": "/docs/guides/serverless-port-code" } ] - }, - { - "title": "Qiskit Transpiler Service", - "children": [ - { - "title": "Transpile circuits remotely with the Qiskit Transpiler Service", - "url": "/docs/guides/qiskit-transpiler-service" - }, - { - "title": "AI-powered transpiler passes", - "url": "/docs/guides/ai-transpiler-passes" - } - ] } ], "collapsible": false @@ -1020,4 +1013,4 @@ ] } ] -} +} \ No newline at end of file diff --git a/docs/guides/ai-transpiler-passes.ipynb b/docs/guides/ai-transpiler-passes.ipynb index e1fe769d8e3..248d204f799 100644 --- a/docs/guides/ai-transpiler-passes.ipynb +++ b/docs/guides/ai-transpiler-passes.ipynb @@ -10,6 +10,8 @@ "description: What are the AI transpiler passes and how to use them\n", "---\n", "\n", + "{/* cspell:ignore Eprint */}\n", + "\n", "\n", "# AI-powered transpiler passes" ] @@ -29,7 +31,7 @@ "id": "7244dd08-62a0-4c10-8c0d-0bd01eebe68f", "metadata": {}, "source": [ - "The AI-powered transpiler passes are passes that work as a drop-in replacement of \"traditional\" Qiskit passes for some transpiling tasks. They often produce better results than existing heuristic algorithms (such as lower depth and CNOT count), but are also much faster than optimization algorithms such as Boolean satisfiability solvers. The AI transpiler passes can run on your local environment or on the cloud using the Qiskit Transpiler Service if you are part of the IBM Quantum® Premium Plan, Flex Plan, or On-Prem (via IBM Quantum Platform API) Plan.\n", + "The AI-powered transpiler passes are passes that work as a drop-in replacement of \"traditional\" Qiskit passes for some transpiling tasks. They often produce better results than existing heuristic algorithms (such as lower depth and CNOT count), but are also much faster than optimization algorithms such as Boolean satisfiability solvers. The AI transpiler passes run on your local environment.\n", "\n", "\n", "\n", @@ -46,19 +48,18 @@ " - `AICliffordSynthesis`: Clifford circuit synthesis\n", " - `AILinearFunctionSynthesis`: Linear function circuit synthesis\n", " - `AIPermutationSynthesis`: Permutation circuit synthesis\n", - " - `AIPauliNetworkSynthesis`: Pauli Network circuit synthesis\n", "\n", - "To use the AI transpiler passes, first [install the `qiskit-ibm-transpiler` package](/docs/guides/qiskit-transpiler-service#install-transpiler-service). Visit the [qiskit-ibm-transpiler API documentation](/docs/api/qiskit-ibm-transpiler) to get more information about the different options available.\n", + "To use the AI transpiler passes, first install the `qiskit-ibm-transpiler` package. Visit the [qiskit-ibm-transpiler API documentation](/docs/api/qiskit-ibm-transpiler) to get more information about the different options available.\n", "\n", "## Run the AI transpiler passes locally or on the cloud\n", "\n", - "If you want to use the AI-powered transpiler passes in your local environment for free, install `qiskit-ibm-transpiler` with some extra dependencies as follows:\n", + "First install `qiskit-ibm-transpiler` with some extra dependencies as follows:\n", "\n", "```sh\n", "pip install qiskit-ibm-transpiler[ai-local-mode]\n", "```\n", "\n", - "Without these extra dependencies, the AI-powered transpiler passes run on the cloud through the Qiskit Transpiler Service (available only for IBM Quantum Premium Plan, Flex Plan, or On-Prem (via IBM Quantum Platform API) Plan users). After installing the extra dependencies, the default mode to run the AI-powered transpiler passes is to use your local machine.\n", + "After installing the extra dependencies, the default mode to run the AI-powered transpiler passes is to use your local machine.\n", "\n", "## AI routing pass\n", "\n", @@ -70,14 +71,85 @@ "execution_count": 1, "id": "c104fcd0-4a85-4927-b026-93f4a6fdab51", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "eb03b7c488c64624a0c448e554340325", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Fetching 4 files: 0%| | 0/4 [00:00\n", - " As of 18 July 2025, the service is being migrated to support the new IBM Quantum® Platform and is not available. For AI passes, you can use [local mode](/docs/guides/ai-transpiler-passes#run-the-ai-transpiler-passes-locally-or-on-the-cloud).\n", - "\n", - " The service is a beta release, subject to change.\n", - " If you have feedback or want to contact the developer team, please use this [Qiskit Slack Workspace](https://qiskit.slack.com/archives/C06KF8YHUAU) channel.\n", - "\n", - "\n", - "\n", - "The Qiskit Transpiler Service provides transpilation capabilities on the cloud. In addition to the local Qiskit transpiler capabilities, your transpilation tasks can benefit from both IBM Quantum cloud resources and AI-powered transpiler passes.\n", - "\n", - "The Qiskit Transpiler Service offers a Python library to seamlessly integrate this service and its capabilities into your current Qiskit patterns and workflows. This service is only available for IBM Quantum Premium Plan, Flex Plan, and On-Prem (via IBM Quantum Platform API) Plan users.\n", - "\n", - "\n", - "\n", - "## Install the qiskit-ibm-transpiler package\n", - "\n", - "To use the Qiskit Transpiler Service, install the `qiskit-ibm-transpiler` package:\n", - "\n", - "```sh\n", - "pip install qiskit-ibm-transpiler\n", - "```\n", - "\n", - "The package automatically authenticates using your [IBM Quantum Platform credentials](/docs/guides/cloud-setup) aligned with how [Qiskit Runtime manages it](/docs/guides/initialize-account):\n", - "- Environment variable: `QISKIT_IBM_TOKEN`\n", - "- Configuration file `~/.qiskit/qiskit-ibm.json` (under the section `default-ibm-quantum`).\n", - "\n", - "*Note*: This package requires Qiskit SDK v1.X.\n", - "\n", - "## qiskit-ibm-transpiler transpile options\n", - "\n", - "- `backend_name` (optional, str) - A backend name as it would be expected by QiskitRuntimeService (for example, `ibm_torino`). If this is set, the transpile method uses the layout from the specified backend for the transpilation operation. If any other option is set that impacts these settings, such as `coupling_map`, the `backend_name` settings are overridden.\n", - "- `coupling_map` (optional, List[List[int]]) - A valid coupling map list (for example, [[0,1],[1,2]]). If this is set, the transpile method uses this coupling map for the transpilation operation. If defined, it overrides any value specified for `target`.\n", - "- `optimization_level` (int) - The potential optimization level to apply during the transpilation process. Valid values are [1,2,3], where 1 is the least optimization (and fastest), and 3 the most optimization (and most time-intensive).\n", - "- `ai` (\"true\", \"false\", \"auto\") - Whether to use AI-powered capabilities during transpilation. The AI-powered capabilities available can be for `AIRouting` transpiling passes or other AI-powered synthesis methods. If this value is `\"true\"`, the service applies different AI-powered transpiling passes depending on the `optimization_level` requested. If `\"false\"`, it uses the latest Qiskit transpiling features without AI. Finally, if `\"auto\"`, the service decides whether to apply the standard Qiskit heuristic passes or the AI-powered passes based on your circuit.\n", - "- `qiskit_transpile_options` (dict) - A Python dictionary object that can include any other option that is valid in the [Qiskit `transpile()` method](defaults-and-configuration-options). If the `qiskit_transpile_options` input includes `optimization_level`, it is discarded in favor of the `optimization_level` specified as parameter input. If the `qiskit_transpile_options` includes any option not recognized by the Qiskit `transpile()` method, the library raises an error.\n", - "\n", - "For more information about the available `qiskit-ibm-transpiler` methods, see the [qiskit-ibm-transpiler API reference](/docs/api/qiskit-ibm-transpiler). To learn more about the service API, see the [Qiskit Transpiler Service REST API documentation](/docs/api/qiskit-transpiler-service-rest).\n", - "\n", - "## Examples\n", - "\n", - "The following examples demonstrate how to transpile circuits using the Qiskit Transpiler Service with different parameters.\n", - "\n", - "1. Create a circuit and call the Qiskit Transpiler Service to transpile the circuit with `ibm_torino` as the `backend_name`, 3 as the `optimization_level`, and without using AI during the transpilation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "47762a14-a24f-47af-8fba-fc32d20d9865", - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit.circuit.library import efficient_su2\n", - "from qiskit_ibm_transpiler.transpiler_service import TranspilerService\n", - "\n", - "circuit = efficient_su2(101, entanglement=\"circular\", reps=1)\n", - "\n", - "cloud_transpiler_service = TranspilerService(\n", - " backend_name=\"ibm_torino\",\n", - " ai=\"false\",\n", - " optimization_level=3,\n", - ")\n", - "transpiled_circuit = cloud_transpiler_service.run(circuit)" - ] - }, - { - "cell_type": "markdown", - "id": "55692fd1-ed2f-4647-8008-d021a8ab0ec5", - "metadata": {}, - "source": [ - "*Note*: you only can use backend_name devices you have access to with your IBM Quantum account. Apart from the `backend_name`, the `TranspilerService` also allows `coupling_map` as parameter.\n", - "\n", - "2. Produce a similar circuit and transpile it, requesting AI transpiling capabilities by setting the flag `ai` to `True`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "4dd3c6f1-4f97-4262-9f86-27751bbc00e8", - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit.circuit.library import efficient_su2\n", - "from qiskit_ibm_transpiler.transpiler_service import TranspilerService\n", - "\n", - "circuit = efficient_su2(101, entanglement=\"circular\", reps=1)\n", - "\n", - "cloud_transpiler_service = TranspilerService(\n", - " backend_name=\"ibm_torino\",\n", - " ai=\"true\",\n", - " optimization_level=1,\n", - ")\n", - "transpiled_circuit = cloud_transpiler_service.run(circuit)" - ] - }, - { - "cell_type": "markdown", - "id": "3b0dae9a-2140-45bc-bc23-d087295069a9", - "metadata": {}, - "source": [ - "3. Produce a similar circuit and transpile it while letting the service to decide whether to use the AI-powered transpiling passes." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "10524c72-ae51-48ab-bd8f-bea09fe2e97c", - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit.circuit.library import efficient_su2\n", - "from qiskit_ibm_transpiler.transpiler_service import TranspilerService\n", - "\n", - "circuit = efficient_su2(101, entanglement=\"circular\", reps=1)\n", - "\n", - "cloud_transpiler_service = TranspilerService(\n", - " backend_name=\"ibm_torino\",\n", - " ai=\"auto\",\n", - " optimization_level=1,\n", - ")\n", - "transpiled_circuit = cloud_transpiler_service.run(circuit)" - ] - }, - { - "cell_type": "markdown", - "id": "e6656fea-cb9a-450b-8ff7-268662df732a", - "metadata": {}, - "source": [ - "## Limits of the Qiskit Transpiler Service\n", - "\n", - "Following are the most relevant limitations of the service:\n", - "\n", - "- The maximum number of two-qubit gates per circuit in a transpilation job in any `ai` mode is 1 million.\n", - "- The maximum time allowed to run a transpilation process is 30 minutes per job.\n", - "- You must retrieve the transpilation result from the service within 20 minutes after the transpilation process ends. After 20 minutes, the job result is discarded.\n", - "- The maximum time a set of circuits can live in the internal queue while waiting to be transpiled is 120 minutes. After that time, if the job has not been transpiled, it is discarded.\n", - "- The maximum number of qubits has not been determined. The service has been tested on 900+ qubits.\n", - "\n", - "## Citation\n", - "\n", - "If you use any AI-powered feature from the Qiskit Transpiler Service in your research, use the following recommended citation:\n", - "\n", - "```\n", - "@misc{2405.13196,\n", - "Author = {David Kremer and Victor Villar and Hanhee Paik and Ivan Duran and Ismael Faro and Juan Cruz-Benito},\n", - "Title = {Practical and efficient quantum circuit synthesis and transpiling with Reinforcement Learning},\n", - "Year = {2024},\n", - "Eprint = {arXiv:2405.13196},\n", - "}\n", - "```\n", - "\n", - "## Next steps\n", - "\n", - "\n", - " - Learn how to create [AI transpiler passes](ai-transpiler-passes).\n", - " - Learn [how to transpile circuits](/docs/guides/circuit-transpilation-settings) as part of the Qiskit patterns workflow using Qiskit Runtime.\n", - " - Review the [Qiskit Transpiler Service Python client](/docs/api/qiskit-ibm-transpiler) documentation.\n", - "" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/docs/guides/transpile.mdx b/docs/guides/transpile.mdx index 2da90877b27..4cba0079f31 100644 --- a/docs/guides/transpile.mdx +++ b/docs/guides/transpile.mdx @@ -9,7 +9,7 @@ description: Introduction to transpiling quantum circuits in the Qiskit SDK. ![An overview of transpilation and the relevant tools to use, either locally or in the cloud.](/docs/images/guides/transpile/transpile-intro.svg) -Transpilation is the process of rewriting a given input circuit to match the topology of a specific quantum device, and optimize the circuit instructions for execution on noisy quantum computers. This documentation covers the tooling and workflows for local transpilation available to all Qiskit users, as well as for the cloud-based [Qiskit Transpiler Service](/docs/guides/qiskit-transpiler-service) available to Premium Plan, Flex Plan, and On-Prem (via IBM Quantum Platform API) Plan users. If you're using primitives and are only interested in the default transpilation options provided by the Qiskit Runtime service, read the [Configure runtime compilation for Qiskit Runtime](/docs/guides/error-mitigation-and-suppression-techniques) topic. +Transpilation is the process of rewriting a given input circuit to match the topology of a specific quantum device, and optimize the circuit instructions for execution on noisy quantum computers. This documentation covers the tooling and workflows for local transpilation available to all Qiskit users. If you're using primitives and are only interested in the default transpilation options provided by the Qiskit Runtime service, read the [Configure runtime compilation for Qiskit Runtime](/docs/guides/error-mitigation-and-suppression-techniques) topic. The process of transpilation takes a circuit that contains your instructions: diff --git a/docs/tutorials/_toc.json b/docs/tutorials/_toc.json index c9694142e9d..8f71518fa68 100644 --- a/docs/tutorials/_toc.json +++ b/docs/tutorials/_toc.json @@ -103,7 +103,7 @@ "url": "/docs/tutorials/fractional-gates" }, { - "title": "Qiskit AI-powered transpiler service introduction", + "title": "Qiskit AI-powered transpiler introduction", "url": "/docs/tutorials/ai-transpiler-introduction" }, { diff --git a/docs/tutorials/ai-transpiler-introduction.ipynb b/docs/tutorials/ai-transpiler-introduction.ipynb index 738b6c4fcf4..05ccea5cb30 100644 --- a/docs/tutorials/ai-transpiler-introduction.ipynb +++ b/docs/tutorials/ai-transpiler-introduction.ipynb @@ -7,21 +7,19 @@ "metadata": {}, "source": [ "---\n", - "title: Qiskit AI-powered transpiler service introduction\n", - "description: In this notebook, we will explore the key benefits of Qiskit AI-powered transpiler service and how it compares to traditional methods.\n", + "title: Qiskit AI-powered transpiler introduction\n", + "description: In this notebook, we will explore the key benefits of Qiskit AI-powered transpiler and how it compares to traditional methods.\n", "---\n", "\n", "\n", "{/* cspell:ignore fontsize idxmin */}\n", "\n", - "# Qiskit AI-powered transpiler service introduction\n", + "# Qiskit AI-powered transpiler introduction\n", "*Estimated QPU usage: None (NOTE: This tutorial does not execute jobs because it is focused on transpilation)*\n", "\n", "## Background\n", "\n", - "The **Qiskit AI-powered transpiler service (QTS)** introduces machine learning-based optimizations in both routing and synthesis passes. These AI modes have been designed to tackle the limitations of traditional transpilation, particularly for large-scale circuits and complex hardware topologies.\n", - "\n", - "As of **July 2025**, the **Transpiler Service** has been migrated to the new IBM Quantum® Platform and is no longer available. For the latest updates about the status of the Transpiler Service, please refer to the [transpiler service documentation](/docs/guides/qiskit-transpiler-service). You can still use the AI transpiler locally, similar to standard Qiskit transpilation. Simply replace `generate_preset_pass_manager()` with `generate_ai_pass_manager()`. This function constructs a pass manager that integrates the AI-powered routing and synthesis passes directly into your local transpilation workflow.\n", + "The **Qiskit AI-powered transpiler ** introduces machine learning-based optimizations in both routing and synthesis passes. These AI modes have been designed to tackle the limitations of traditional transpilation, particularly for large-scale circuits and complex hardware topologies.\n", "\n", "### Key features of AI passes\n", "\n", @@ -32,7 +30,6 @@ " - `AICliffordSynthesis`: Clifford gate synthesis\n", " - `AILinearFunctionSynthesis`: Linear function circuit synthesis\n", " - `AIPermutationSynthesis`: Permutation circuit synthesis\n", - " - `AIPauliNetworkSynthesis`: Pauli Network circuit synthesis (only available in the Qiskit Transpiler Service, not in local environment)\n", "\n", "- Comparison with traditional transpilation: The standard Qiskit transpiler is a robust tool that can handle a broad spectrum of quantum circuits effectively. However, when circuits grow larger in scale or hardware configurations become more complex, AI passes can deliver additional optimization gains. By using learned models for routing and synthesis, QTS further refines circuit layouts and reduces overhead for challenging or large-scale quantum tasks.\n", "\n", @@ -188,7 +185,7 @@ "source": [ "# Part I. Qiskit patterns\n", "\n", - "Let's now see how to use the AI transpiler service with a simple quantum circuit, using Qiskit patterns. The key is creating a `PassManager` with `generate_ai_pass_manager()` instead of the standard `generate_preset_pass_manager()`." + "Let's now see how to use the AI transpiler with a simple quantum circuit, using Qiskit patterns. The key is creating a `PassManager` with `generate_ai_pass_manager()` instead of the standard `generate_preset_pass_manager()`." ] }, { diff --git a/docs/tutorials/compilation-methods-for-hamiltonian-simulation-circuits.ipynb b/docs/tutorials/compilation-methods-for-hamiltonian-simulation-circuits.ipynb index 5805af0929e..0ba53678c56 100644 --- a/docs/tutorials/compilation-methods-for-hamiltonian-simulation-circuits.ipynb +++ b/docs/tutorials/compilation-methods-for-hamiltonian-simulation-circuits.ipynb @@ -1555,7 +1555,7 @@ "\n", "While the AI transpiler generally delivers better results than SABRE, particularly in circuit depth, the takeaway should not simply be \"always use the AI transpiler.\" There are important nuances to consider:\n", "\n", - "- **AI transpiler** is typically reliable and provides depth-optimized circuits, but it comes with trade-offs in runtime, and also has other limitations, including supported coupling maps and synthesis capabilities. These are detailed in the [Qiskit Transpiler Service documentation](/docs/guides/qiskit-transpiler-service).\n", + "- **AI transpiler** is typically reliable and provides depth-optimized circuits, but it comes with trade-offs in runtime, and also has other limitations, including supported coupling maps and synthesis capabilities. These are detailed in the [Qiskit AI transpiler documentation](/docs/guides/ai-transpiler-passes).\n", "\n", "- In some cases, particularly with very large or hardware-specific circuits, the AI transpiler may not be as effective. In these cases, the default SABRE transpiler remains extremely reliable and can be further optimized by adjusting its parameters (see the [SABRE optimization tutorial](/docs/tutorials/transpilation-optimizations-with-sabre)).\n", "\n", diff --git a/docs/tutorials/index.mdx b/docs/tutorials/index.mdx index 1f81f0a0aeb..6892e9a6593 100644 --- a/docs/tutorials/index.mdx +++ b/docs/tutorials/index.mdx @@ -83,7 +83,7 @@ Workload optimization focuses on either efficient orchestration of classical and * [Introduction to fractional gates](/docs/tutorials/fractional-gates) -* [Qiskit AI-powered transpiler service introduction](/docs/tutorials/ai-transpiler-introduction) +* [Qiskit AI-powered transpiler introduction](/docs/tutorials/ai-transpiler-introduction) * [Transpilation optimizations with SABRE](/docs/tutorials/transpilation-optimizations-with-sabre) diff --git a/qiskit_bot.yaml b/qiskit_bot.yaml index 0e3cc573e5d..f84ad7e9040 100644 --- a/qiskit_bot.yaml +++ b/qiskit_bot.yaml @@ -444,11 +444,6 @@ notifications: "docs/guides/serverless": - "@jenglick" - "@pandasa123" - "docs/guides/qiskit-transpiler-service": - - "@cbjuan" - - "@d-kremer" - - "`@abbycross`" - - "`@beckykd`" "docs/guides/represent-quantum-computers": - "`@nbronn`" - "`@beckykd`"