In this pilot, users can use quantum computing through SURF Research Cloud.
This page provides the information a user needs to run their experiment.

SURF Research Cloud

Research Cloud is a portal that enables users to run workspaces (virtual machines) on SURF's own HPC Cloud infrastructure or on public clouds like Amazon Web Services (AWS) and Microsoft Azure.
This page is a part of the SURF Research Cloud user documentation. Please refer to these pages when you need information on using Research Cloud itself. The pages also explain how to send a support request, if need be.

As one of the selected users of the pilot, you are already enabled to log in to the Research Cloud portal and you will also have the necessary budget (wallet) to start a workspace. For this pilot, the wallet is funded by the SURF Innovation Lab.

Stepping Stone

To use Quantum computing, you will start a workspace on Research Cloud. This workspace serves as a stepping stone to the chosen Quantum backend. This backend can either be a simulator or an actual Quantum instance.

The workspace is created using the "Quantum computing" catalog item that is available to you, in the Research Cloud portal. It is a pre-configured Jupyter machine that runs on the cloud provider you have chosen.
The page Start a simple workspace will guide you through starting your workspace. Just select the "Quantum computing" catalog item instead of the one suggested there.

After a couple of minutes your workspace will be labeled as "running". Then you can log in with the procedure that is described here: Log in to your workspace (First half of the page about "TOTP").

When you are logged in, you will see a Jupyter Hub web-interface.
This is a VM on the public cloud that you chose when creating the workspace.
Except for Jupyter Hub, some other tools are pre-installed, too.
(If the screen stays empty for several seconds, click on the Jupyter-logo on the top left).

Maybe you have some (test-data) that you want to upload now?

Running on Quantum

If the VM is running, Azure/ AWS are charging for the classical provisioning of cloud resources. The QPUs cost is pay-as-you-go.

There are two main options to start running your experiments:

  1. You create a new Jupyter notebook
  2. You upload an existing Jupyter notebook

For both cases, for the Jupyter Notebook (or your python code) to connect to the backends you need to add the following lines in the first cell (beginning of the code):

Azure:

from surf.researchcloud.quantum.azure import azure_qiskit_provider_factory
provider = azure_qiskit_provider_factory()

AWS:

from surf.researchcloud.quantum.aws import aws_s3_folder
my_prefix = "simulation-output"
s3_folder = aws_s3_folder(my_prefix)
import os
os.environ['AWS_DEFAULT_REGION'] = 'eu-west-2'


After running these lines, the Jupyter Notebook works the same as the environment in AWS and Azure. You can follow their tutorials from this point onwards and you can submit jobs to the simulators or QPUs directly from here. 

Installing your own software

You can install your own tools and software by using conventional tools such as git and pip. Be aware that in the Quantum Computing workspace every collaboration member has sudo permissions.

You can do this in several ways:

  1. Within the Jupyter notebook: use !git and !pip (make sure you also restart the kernel after the installations).
  2. For git there is also a button on the top left
  3. Open a terminal an install the software via the terminal If you run into any issues, please contact the SURF servicedesk.

Running on actual QPUs

Before running a job in an actual QPU make sure that it is online and check the expected waiting times!

Example in Azure:


# Create a circuit
circuit = QuantumCircuit(3, 3)
circuit.name = "Qiskit Sample - 3-qubit GHZ circuit"
circuit.h(0)
circuit.cx(0, 1)
circuit.cx(1, 2)
circuit.measure([0, 1, 2], [0, 1, 2])

# See available backends
print("This workspace's targets:")
for backend in provider.backends():
    print("- " + backend.name())

# chose backend
qpu_backend = provider.get_backend("rigetti.qpu.aspen-11")

# Submit the circuit to run on Azure Quantum
job = qpu_backend.run(circuit, shots=10)
job_id = job.id()
print("Job id", job_id)

 # Monitor job progress and wait until complete:
job_monitor(job)
result = job.result()
print(result)
counts = {format(n, "03b"): 0 for n in range(8)}
counts.update(result.get_counts(circuit))
print(counts)
plot_histogram(counts)

Sharing files within the collaboration

You can share files with other members of the collaboration by placing them in the /scratch folder. 
For other people to be able to edit them you need to change the permissions:


chmod a+w filename

Available backends

Currently, we are granting access to AWS and Azure Quantum. Both AWS and Quantum Azure have contracts with several quantum computing providers and therefore, by providing access to AWS and Azure users will get access to a range of quantum computing backends.


AWS: IONQ, Rigetti, Dwave, OQC, Xanadu, QuEra

- https://aws.amazon.com/braket/quantum-computing-research/
- https://aws.amazon.com/braket/quantum-computers/


Azure: IONQ, Rigetti, coming soon QCI, Pasqal
- https://azure.microsoft.com/en-us/products/quantum/#features
- https://learn.microsoft.com/en-us/azure/quantum/

In both cases, you can also get access to the quantum simulators of the different backends.


Summary info quantum computers (based on available date 10/2022)


Provider

Paradigm

Technology backend

T1

T2

Number & Type qubits

Median gate fidelity

Connectivity (Topology)

Native Gates

website

Rigetti

Gate-based

Aspen 11

28μs

13.6μs

40 SC

1Q 99.5 %

2Q(CZ) 88.2%

2Q(XY) 88.2%

RO 95%

3-fold connectivity

(2-fold for edges)


CPHASE

XY

CZ

RX

RZ


https://qcs.rigetti.com/qpus

Rigetti

Gate-based


Aspen M-2

30μs

18.6μs

80 SC

1Q 99.8 %

2Q(CZ) 88.7%

2Q(XY) 89.9%

RO 97.4%

3-fold connectivity

(2-fold for edges)

CPHASE

XY

CZ

RX

RZ

https://qcs.rigetti.com/qpus

IONQ

Gate-based


Harmony

10-100s

1s

11 TI

1Q 99.6%

2Q 97.3 %

SPAM: 0.18%

All-to-all

Gpi, gpi2, ms

https://ionq.com/quantum-systems/harmony

Dwave

Quantum annealer

Advantage 4.1 Advantage 6.1  D-Wave 2000Q


~5000 SC



NA

https://docs.dwavesys.com/docs/latest/doc_physical_properties.html

Xanadu

Continuous-variable

(GBS)

Borealis



288 squeezed-state qubits



NA

https://www.xanadu.ai/products/borealis/

OQC

Gate-based


Lucy


8 SC, Coaxmon



I

RZ

V

X

ECR

https://oxfordquantumcircuits.com/technology


SQ= single qubit gate fidelity
TW= two qubit gate fidelity
RO= readout fidelity
M = measurement fidelity
SPAM= state preparation and measurement error






  • No labels