152 lines
12 KiB
Plaintext
152 lines
12 KiB
Plaintext
---
|
||
title: Migrate to the new IBM Quantum Platform (early access)
|
||
description: Migrate to using the new IBM Quantum Platform (early access) for Open users
|
||
---
|
||
|
||
# Migrate to the new IBM Quantum Platform (early access)
|
||
|
||
This guide is for users who do not have Premium access and want to start using the updated version of IBM Quantum® Platform (which runs on IBM Cloud®). If you have Premium access, contact your administrator for instructions.
|
||
|
||
<Admonition type="caution" title="Important">
|
||
The [updated version of IBM Quantum Platform](https://quantum.cloud.ibm.com/) is in **early access** mode. Therefore, you can log on, create instances, run jobs, and so on, but some functions are not available yet. If you need to use functions that are not yet available, use [IBM Quantum Platform Classic](https://quantum.ibm.com/) or [Qiskit Runtime on IBM Cloud](https://cloud.ibm.com/quantum) instead.
|
||
</Admonition>
|
||
|
||
## Benefits
|
||
|
||
The new version of IBM Quantum Platform is very similar to the current interface, but provides the flexibility to add features that would be difficult or impossible to deploy with the classic platform. Examples include enhanced data privacy and security, a streamlined notifications experience, and multiple language options.
|
||
|
||
## Major differences
|
||
|
||
There are a few major changes you will see in the updated IBM Quantum Platform:
|
||
|
||
* For Open Plan users, there is no longer a limit to the number of jobs you can have in the queue.
|
||
* Open Plan users cannot run session jobs. Previously, if you tried to run a job in a session, it was run in job mode. Now, if you try to run a job in a session, the job fails. Instead, Open Plan users should explicitly write their code to run in job or batch mode. See [execution modes](/guides/execution-modes) to learn how to set the execution mode.
|
||
* When activating the service, an instance is required, and the channel must be set to `ibm_cloud`. The instance is specified by using its cloud resource name (CRN).
|
||
* Quantum computers powered by the state-of-the-art IBM Quantum Heron processor are available through the Open Plan.
|
||
* For IBM Quantum Platform Classic users, the hierarchical authorization structure has changed. That is, there are no hubs, groups, or projects in the new platform. All user management is done through IBM Cloud [identity and access management (IAM)](https://cloud.ibm.com/docs/account?topic=account-iamoverview). By default, access groups are created for you when you create an instance through the IBM Quantum Platform user interface.
|
||
|
||
### Instances
|
||
|
||
_Instances_ are virtual servers that manage your workload execution, including executing quantum programs and classical compute tasks (such as processing error mitigation). Instances are specified by their Cloud Resource Name (CRN).
|
||
|
||
You can see the instances you have access to on the dashboard or by clicking the Instances tab from the dashboard. Each instance is listed with its CRN identifier. You need to include this identifier when connecting to Qiskit Runtime via the `QiskitRuntimeService` object when using `qiskit-ibm-runtime` in a Python environment.
|
||
|
||
## Available plans
|
||
|
||
The following plans are available to non-Premium users:
|
||
|
||
* **Open** - Free plan with 10 minutes of access to quantum computers per 28-day period.
|
||
* **Standard** - Pay only for your actual [usage](/guides/estimate-job-run-time).
|
||
|
||
<Admonition>
|
||
The Lite Plan is deprecated and will be removed on 14 March 2025.
|
||
</Admonition>
|
||
|
||
## Current IBM Quantum Platform users
|
||
|
||
Instead of accessing [IBM Quantum Platform Classic](https://quantum.ibm.com/), you will now access the [updated version of IBM Quantum Platform](https://quantum.cloud.ibm.com/), which is integrated with IBM Cloud. Because of this integration, all users need to follow the onboarding instructions before using the new platform.
|
||
|
||
<span id="onboard"></span>
|
||
### Onboard
|
||
|
||
Follow these steps to start using the new version of IBM Quantum Platform.
|
||
|
||
1. If you don't already have one, [register for an IBM Cloud account.](https://cloud.ibm.com/registration?cm_sp=quantum&utm_content=quantum-next&target=https%3A%2F%2Fquantum.cloud.ibm.com&error_uri=) If you already have an IBM Quantum Platform account, use the same email for this account.
|
||
2. Create an instance.
|
||
1. Log on to the new [IBM Quantum Platform.](https://quantum.cloud.ibm.com) Choose **IBMid** and enter your IBM Cloud account information. The dashboard opens.
|
||
1. If you do not already have an instance, Click **Create instance** on the dashboard page.
|
||
<Admonition type="note">
|
||
If you have already created an instance, go to your [Instances page](https://quantum.cloud.ibm.com/instances) to create new ones.
|
||
</Admonition>
|
||
1. Specify a name and choose the type of plan you want. Scroll down to see the **Terms** link. After reading the terms, select the **agree** checkbox and click **Next**.
|
||
1. On the Plan inheritance page, leave the default setting (toggle is not enabled) and click **Next** if you're setting up an Open instance. If you are not setting up an Open instance and you want a fixed set of QPUs to be available to this plan, enable the "Customize allocated compute resources" toggle, choose the QPUs you want this instance to be able to access, then click **Next**.
|
||
<Admonition type="note">
|
||
If you customize the allocated compute resources, the available QPUs will never be automatically updated, regardless of any changes made to the parent plan. However, you can manually add or remove QPUs later. If you do not customize them, you will always have access to any QPU the account has access on the plan. So if in the future there is a new system added to the plan, the instance automatically has access to it.
|
||
</Admonition>
|
||
1. Choose whether you want an access group to be created for this instance and click **Create instance**. For an Open instance, you probably don't need an access group, although creating one won't impact your usage unless you add another user to the group. You can add or remove access groups at any time from IBM Cloud. To learn more, see [Setting up access groups.](https://cloud.ibm.com/docs/account?topic=account-groups)
|
||
3. Set up your credentials using the [following steps.](#credentials)
|
||
* Set the channel to `ibm_cloud`. If you previously set your default channel to `ibm_quantum` in your saved credentials, you need to update that setting. If you were previously working with Qiskit Runtime on IBM Cloud, you can skip this.
|
||
* Specify the instance's CRN. To copy the instance CRN, go to your [dashboard](https://quantum.cloud.ibm.com/), go to [Instances](https://quantum.cloud.ibm.com/instances), and click the copy icon at the end of the instance's row.
|
||
* Optionally name this set of credentials.
|
||
|
||
<span id="credentials"></span>
|
||
#### Set up your credentials
|
||
|
||
1. Create an API key from the [IBM Quantum Platform dashboard.](https://quantum.cloud.ibm.com/)
|
||
<Admonition type="note">
|
||
This API key is only visible for a short amount of time so be sure to store it in a safe place. To manage your API key, use IBM Cloud. See [Managing user API keys](https://cloud.ibm.com/docs/account?topic=account-userapikey) for instructions.
|
||
</Admonition>
|
||
2. Use your API key to activate your Python virtual environment. See the [installation instructions](/guides/install-qiskit#local) if you do not already have a virtual environment set up.
|
||
|
||
<span id="save-account"></span>**If you are working in a trusted Python environment (such as on a personal laptop or workstation),** use the `save_account()` method to save your credentials locally. ([Skip to the next step](#untrusted-machine) if you are not using a trusted environment, such as a shared or public computer, to authenticate to IBM Quantum Platform.) To use `save_account()`, run `python` in your shell, then enter the following:
|
||
|
||
```python
|
||
token = "<your-API-token>"
|
||
```
|
||
|
||
```python
|
||
from qiskit_ibm_runtime import QiskitRuntimeService
|
||
|
||
QiskitRuntimeService.save_account(
|
||
token=token,
|
||
channel="ibm_cloud", # `channel` distinguishes between different account types.
|
||
instance="instance-CRN", # Copy the instance CRN from the Instance section on the dashboard.
|
||
name="account-name", # Optionally name this set of credentials.
|
||
overwrite=True # Only needed if you already have Cloud credentials.
|
||
)
|
||
```
|
||
Run `exit()` to close the Python shell. From now on, whenever you need to authenticate to the service, you can load your credentials with `QiskitRuntimeService()`.
|
||
|
||
```python
|
||
# Load default saved credentials
|
||
service = QiskitRuntimeService()
|
||
```
|
||
```python
|
||
# Load saved credentials if you specified a name
|
||
service = QiskitRuntimeService(name="account-name")
|
||
```
|
||
|
||
* If you have saved credentials for both an IBM Quantum Platform account and an IBM Cloud account, IBM Cloud is the default account used when you initialize your account, unless you specify `set_as_default=True` in your IBM Quantum Platform account when you use the `save_account()` method.
|
||
* If you previously saved an IBM Quantum Platform account as the default, specify `set_as_default=True` for your new cloud account when you use the `save_account()` method.
|
||
* If you are saving multiple accounts per channel, consider using the `name` parameter to differentiate them.
|
||
* Credentials are saved to `$HOME/.qiskit/qiskit-ibm.json`. Do not manually edit this file.
|
||
1. <span id="untrusted-machine"></span>**Avoid executing code on an untrusted machine or an external cloud Python environment to minimize security risks.** If you must use an untrusted environment (for example, a public computer), change your API key after each use by following the instructions in the [Delete an API key](https://cloud.ibm.com/docs/account?topic=account-userapikey&interface=ui#delete_user_key) section to reduce risk. To initialize the service in this situation, you can use code like the following:
|
||
|
||
```python
|
||
from qiskit_ibm_runtime import QiskitRuntimeService
|
||
|
||
# After using the following code, go to the IBM Cloud API keys page (https://cloud.ibm.com/iam/apikeys)
|
||
# and disable your API key (click Enabled slider in the API key field)
|
||
service = QiskitRuntimeService(channel="ibm_cloud", token="<MY_IBM_QUANTUM_TOKEN>", instance="<MY_INSTANCE_CRN>")
|
||
```
|
||
|
||
<Admonition type="caution">
|
||
When sharing code with others, ensure that your API key is not embedded directly within the Python script. Instead, share the script without the token and provide instructions for securely setting it up.
|
||
|
||
If you accidentally share your key with someone or include it in version control like Git, immediately revoke your key by following these instructions to [delete an API key](https://cloud.ibm.com/docs/account?topic=account-userapikey&interface=ui#delete_user_key) to reduce risk.
|
||
</Admonition>
|
||
|
||
## Current Qiskit Runtime on IBM Cloud users
|
||
|
||
These updates are designed to enhance your workflow while keeping your IBM Cloud integration intact.
|
||
|
||
#### New interface
|
||
|
||
Until now, you’ve been using the IBM Cloud interface to create and manage your IBM Quantum instances. With the launch of the new IBM Quantum Platform, you can still view existing instances in [IBM Cloud](https://cloud.ibm.com/resources), but managing them in [IBM Quantum Platform](https://quantum.cloud.ibm.com/) gives you deeper insights and control.
|
||
|
||
The new IBM Quantum Platform offers a quantum-first experience:
|
||
|
||
* More workload insights – Better visibility into jobs and sessions.
|
||
* Improved analytics – Understand and optimize performance like never before.
|
||
* Greater control – Track, manage, and fine-tune workloads efficiently.
|
||
|
||
This transition enhances security, scalability, and user experience while keeping the IBM Cloud integration intact.
|
||
|
||
### Steps to migrate
|
||
|
||
* If you currently use the Standard Plan, you dont' have to do anything. You'll just use the new [IBM Quantum Platform](https://quantum.cloud.ibm.com/) interface.
|
||
* If you currently use the Lite Plan (deprecated), you can switch to [using simulators locally](https://quantum.cloud.ibm.com/docs/migration-guides/local-simulators). Optionally, you can [create instances in the Open Plan,](#onboard) which lets you run jobs on quantum hardware.
|
||
|
||
<Admonition type="important">
|
||
To set, change, or remove cost limits, you need to use the API or CLI. Follow the instructions in the [Manage cost](/guides/manage-cost#cost-limit) guide.
|
||
</Admonition> |