{ "cells": [ { "cell_type": "markdown", "id": "9feeb937", "metadata": {}, "source": [ "# Compiling and Submitting Circuits onto Sqale via Qiskit\n" ] }, { "cell_type": "markdown", "id": "decent-blowing", "metadata": {}, "source": [ "[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Infleqtion/client-superstaq/blob/main/docs/source/optimizations/sqale/sqale_compile_qss.ipynb) [![Launch Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Infleqtion/client-superstaq/HEAD?labpath=docs/source/optimizations/sqale/sqale_compile_qss.ipynb)" ] }, { "cell_type": "markdown", "id": "c23a3c34", "metadata": {}, "source": [ "## Import Requirements" ] }, { "cell_type": "markdown", "id": "41137c11", "metadata": {}, "source": [ "This tutorial will showcase how to compile and submit a circuit onto Infleqtion's hardware, Sqale, using the ```qiskit-superstaq``` client." ] }, { "cell_type": "code", "execution_count": 1, "id": "c01de181-761d-428e-b0a2-f038d12cdb84", "metadata": {}, "outputs": [], "source": [ "# Required imports\n", "try:\n", " import qiskit\n", " import qiskit_superstaq as qss\n", "except ImportError:\n", " print(\"Installing qiskit-superstaq...\")\n", " %pip install --quiet 'qiskit-superstaq[examples]'\n", " print(\"Installed qiskit-superstaq.\")\n", " print(\"You may need to restart the kernel to import newly installed packages.\")\n", " import qiskit\n", " import qiskit_superstaq as qss\n", "\n", "# Optional imports\n", "import os # Used if setting a token as an environment variable" ] }, { "cell_type": "markdown", "id": "fdab508b", "metadata": {}, "source": [ "To interface Superstaq via Qiskit, we must first instantiate a service provider in ```qiskit-superstaq```. We then supply a Superstaq API key (which you can get from https://superstaq.infleqtion.com) by either providing the API key as an argument, i.e., ```qss.superstaq_provider.SuperstaqProvider(api_key=\"token\")```, or by setting it as an environment variable (see more details [here](https://superstaq.readthedocs.io/en/latest/get_started/basics/basics_qss.html#Set-up-access-to-Superstaq%E2%80%99s-API))." ] }, { "cell_type": "code", "execution_count": 2, "id": "b38e6a2c-36fc-426c-a6e0-3f5167900e54", "metadata": {}, "outputs": [], "source": [ "provider = qss.SuperstaqProvider()" ] }, { "cell_type": "markdown", "id": "72d7ac85-84b4-4feb-8ecf-0af31ddf5f83", "metadata": { "tags": [] }, "source": [ "## Create a Circuit" ] }, { "cell_type": "markdown", "id": "3eb32f10", "metadata": {}, "source": [ "First, we will create an example Qiskit circuit that we can then compile and submit to the Sqale QPU" ] }, { "cell_type": "code", "execution_count": 3, "id": "7c88500b-8c09-43d3-8b16-0078a95a551d", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOMAAACuCAYAAADESLr+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAOSklEQVR4nO3df1DU9b7H8dcuy+8fkr9CQAjc8ACKVEo62lEqYZFxOF7POZy5lscZquMfXJ1sxLRhao5x/ZnNVLepkzhj3GsXvXqduclUplBe9FyyAgslplo0fqxKgrDID9n93j88MBGssMuX3fd+fT3+kd3vdz/7wXr6/bFfvugURVFARB6n9/QEiOgOxkgkBGMkEoIxEgnBGImEYIxEQjBGIiEYI5EQjJFICMZIJARjJBKCMRIJwRiJhGCMREIwRiIhGCOREIyRSAjGSCQEYyQSgjESCcEYiYRgjERCMEYiIRgjkRCMkUgIxkgkBGMkEoIxEgnBGImEYIxEQjBGIiEYI5EQjJFICMZIJARjJBKCMRIJwRiJhDB4egJapigK0Nvr6Wk4x98fOp1OteEURYHNZlNtPHfw8fFR9e9grBjjROrtRf8f/+zpWTjFcPggEBCg2ng2mw1Hjx5VbTx3WL16NQwG96fB3VQiIRgjkRCMkUgIxkgkBGMkEoIxEgnBGImEYIxEQjBGIiEYI5EQjJHuKYqi4Pr1656exoh4bSqJZ7fbYTabYTab8eOPP+L69evo6+uDj48PQkJCEBcXh/j4eBiNRgQHBzscR1EUHDlyBGVlZdi6dStmz57txu9idIyRxGpvb0d5eTlOnTqF1tZWh+tVVVUBAHx9fbFw4UJkZGTAaDQO+cmLgRCPHTsGANi5cydef/11hIeHT+j34AzN7aa2traioKAARqMRAQEBmDlzJjZu3Iiuri7k5eVBp9Phrbfe8vQ06S76+/tx9OhR5Ofno7S09K4h/tLt27dx5swZFBYWoqioCNeuXQMwPEQAyM3NFRUioLEtY3V1NbKysmCxWBAcHIykpCQ0NzfjjTfewA8//IAbN24AAFJTUz07USd91noNy89VYGdSCjbN+s2I6/j9z2GsmD4Dxx99zM2zU9eVK1fw9ttvo6GhYfA5nU6H1NRUzJ07F/Hx8YiOjkZAQABsNhtaW1thNptRX1+Ps2fPwmq1AgC+/fZbbN68GWvWrEF7e/uQENetWweTyeTub21UmomxtbUVK1euhMViwQsvvICXX34ZoaGhAIDdu3djy5YtMBgM0Ol0SElJ8fBsaSS1tbXYs2cPenp6AAB6vR6ZmZnIysrC9OnTh61vMBgQFRWFqKgoLFmyBE899RTOnj2LI0eO4Oeff0Zvby8OHDgw5DVSQwQ0FOOGDRvQ2NiI/Px87N27d8iygoICHDp0CDU1NYiLi0NYWJiHZkmO1NXVYdeuXejr6wMAzJw5E+vXr8esWbPGPIafnx+WLVuGtLQ0lJSUoLy8fMhyySECGjlmvHTpEkpLSzF16lTs2LFjxHUeeeQRAMC8efPcOTUag/b2duzdu3cwxIceeghFRUVOhfhLgYGBuO+++4Y97+fnN655TjRNbBk/+OAD2O12rFmzBiEhISOuExgYCMC7Y7xls6HV2+6pMwpFUbB///7BY72UlBRs2rQJvr6+Lo/365M1A0pKSpCSkoKpU6eOa84TRRMxnj59GgCQnp7ucJ3GxkYA3h3jX7+rxV+/q/X0NFR17tw5nD9/HgAwadIk5OfnqxriunXr0NDQgIqKCnR3d+O9997D1q1bVZm72jQR4+XLlwEAsbGxIy7v7+9HZWUlgPHFOH/+fFgsljGvH6jX42LqIpff79eeiYnH6siZIy7L+vtnqrxHQkICuu12VcYC7uwaOjp0UBQFx48fH3ycl5fn8vG8oxBNJhO6urpw4cIF3LhxAzU1NTCbzYiLi3M4VkJCwuAus7MiIiIG/3FxliZi7OrqAgB0d3ePuHzgs6rQ0NC7/kcYjcViQVNT05jXD/LxAVJdfrthjCEheGLa/eoNOILm5mbcUvHWiv7+/g6X1dfX48qVKwAAo9GItLQ0l97jbiECQHBwMFatWoXi4mIAwMmTJ/Hcc885HK+5uRm9Hjgc0ESMERERaGtrw1dffYVFi4ZuiVpaWrB582YAd45HxnM/zIiICKfWD9R73/mxyMhI1beMjpw6dWrw64yMDJfGHy3EAUuWLMGhQ4fQ3d2NyspKrF27FgEObkkZGRk5ri2jqzQR45NPPolLly5h165dWL58ORISEgAAX3zxBZ5++unBKzjG+2G/s7sfSk+P1903tb6+HjoV75s6cDXNSOrq6gDc2XouXLjQ6bHHGiJw5wTeo48+ioqKCvT29sJsNiMxMXHEcevr63nfVFcVFBRgypQp+Omnn5CcnIy5c+fiwQcfRFpaGuLj4/H4448D8O6TN1pjtVoHL1eLjY11+mMHZ0IcYDQaB782m81OznjiaSLG6OhonDlzBtnZ2QgICEBDQwMmT56Md999FydOnEB9fT0AxijJwEk3AIiPj3fqta6ECGDI55YSY9TEbioAJCYm4sMPPxz2vNVqRUNDA/R6PebMmeOBmdFIOjs7B7+eMmXKmF/naoi/fp+Bk36SaCZGR2pra6EoChISEhAUFOTp6bhk6dTp6Fv5x7uuM9pyaZKSklBYWIjbt29jxowZY35dZ2fnkMvcnLnELSgoCAUFBfD19RX3ExvAPRDjN998A4C7qNKEhYUhOTnZpdcVFhZi+/btyMnJcepaU4PBgIcfftjp93QXxkheJzIyEq+99prX7uk4ookTOHfDGLVJayEC98CWceC6VSLpNL9lJPIWjJFICMZIJARjJBKCMRIJwRiJhGCMREIwRiIhGCOREIyRSAjGSCSETlEUxdOT0CpFUQBvu+mwv/+4btr1a4qiwKbi3eb2vFuKzq4uhAYHY/Nfcoc9VoOPj4+qfwdjpfkLxT1Jp9MBKt7cyRvpdDpVb+6kALArd/40GAzDHnsz7qYSCcEYiYRgjERCMEYiIRgjkRCMkUgIxkgkBGMkEoIxEgnBGImEYIxEQjBGIiEYI5EQjJFICMZIJARjJBKCMRIJwRiJhGCMREIwRiIhGCOREIxRZZ9//jlycnIQGxsLnU6HV1991dNTolGUlZUhNTUV/v7+eOCBB7Bv3z6PzIMxqsxqtSIpKQm7d+9GRESEp6dDozh//jxycnKQlZWF6upqvPLKK9i2bRveeecdt8/Fu280KdCKFSuwYsUKAMCWLVs8PBsazb59+7BgwQLs2LEDAJCYmIja2lrs3LkT69evd+tcuGWke1plZSVMJtOQ50wmEy5fvozGxka3zoVbRhLpamsbbnZ2DXu+/x+/KqDfZkO9uXHY4wF6nQ6zYiNHvU1/S0vLsMOJgcctLS2Ijo4e1/fhDMZIIimKgoNHP4LNZh9x+a3uHhw4XObwcfqiVBgfiJrweaqJu6kkUsS0ych8bIFLr428fwqeWPzImNadMWMGLBbLkOeuXr06uMydGCOJtWTBXMTNdC4Ig48PcrPTYfDxGdP6ixcvxscffzzkuY8++gixsbFu3UUFGKPqrFYrqqurUV1djb6+PlgsFlRXV+P777/39NS8jl6vxx+yl8Hfz3fMr8lcugD3T5s85vWff/55VFVV4aWXXkJdXR0OHjyIN998Ey+++KIrUx4X/n5GlVVUVCA9PX3Y80uXLkVFRYX7J6QB57/5Dv9V9tmo68XHROKZP2VD7+TvVjxx4gS2bduGuro6REREYOPGjdi0aZOr03UZYyTxFEXBvx8/idr6Bofr+Pv54vm8PyA8LMR9E1MZd1M95McrzejvV+83+mqZTqfDqszHEBIc6HCd32Us8eoQAcboEW03O1FcWoY9f/tPWG91e3o6XiEkKBCrTb8dcdnc2XFITTK6eUbq02SMNpsNJSUlyMjIwLRp0+Dv74+YmBiYTCbs379f1d8x74qKv1fDZrdj2uRwhAQ5/teehko0xiJt3m+GPBcaEoTfZT426of73kBzMXZ0dGD58uVYu3YtTp48CT8/P8ybNw92ux2ffPIJnn32WXR2dnpsfm03O3H+wncAgCcWP+yxeXir7McXYXJ46ODj35t+i+DAAA/OSD2aizEvLw/l5eWIjo7G6dOn0dTUhKqqKjQ2NqKlpQVFRUXw9R37qXK1DWwVjbFRTn+GRndO1ORmp0On02HhQ0mYPSvG01NSjabOpn755ZeYP38+DAYDvv76a8yZM0fV8d88eAydVteP8eyKHdauO68PDgyAzxg/mKbh+m7fhq/BIG73NDQkEP/y539y6bWaujb1+PHjAIDs7GzVQwSATms3OqzDL152RVd3jyrj3Mt6evs8PQVVaSrGixcvAgAWLVo0IeOHhrh+soVbxXvDeP4f0VSMHR0dAIBJkyZNyPiu7n4AwH9/fAb/V30JxtgoPPOnbBVnRVqhqRjDwsIAADdv3pyQ8V09ZvzlVrHl2s/413/7D7WnRkLwmPEfkpOTcezYMZw7d25CxlfjmJHHiuSIpmJctWoVtm/fjrKyMly8eBFJSUmqju/K8QCPFe8t4zlm1NRHGwCQm5uLw4cPIyYmBu+//z6WLl06uOzq1as4cOAANmzYgODgYLfMh8eKNFaai7GjowM5OTmDP64UFRWFyMhItLS0oKmpCYqioK2tDeHh4RM+l7abndj7t1LY7Hb85Z9X8kN+uivNXYETFhaGTz/9FMXFxVi2bBlu3bqFmpoa6PV6ZGZmori4GKGhoaMPpAJebUPO0NyWUZJP//dLnPniAtb93sQYaVSMcYL19PYhwN/P09MgL8AYiYTQ3DEjkbdijERCMEYiIRgjkRCMkUgIxkgkBGMkEoIxEgnBGImEYIxEQjBGIiEYI5EQjJFICMZIJARjJBKCMRIJwRiJhGCMREIwRiIhGCOREIyRSAjGSCQEYyQSgjESCcEYiYRgjERCMEYiIRgjkRCMkUgIxkgkBGMkEoIxEgnBGImEYIxEQjBGIiEYI5EQjJFICMZIJARjJBLi/wGhq5JPAVdETwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "circuit1 = qiskit.QuantumCircuit(1, 1)\n", "circuit1.h(0)\n", "circuit1.measure(0, 0)\n", "circuit1.draw(output=\"mpl\", fold=-1)" ] }, { "cell_type": "markdown", "id": "d41c8d8e", "metadata": {}, "source": [ "## Single Circuit Compilation" ] }, { "cell_type": "markdown", "id": "b2b2a613", "metadata": {}, "source": [ "We will now compile the above circuit onto Sqale's native gateset and visualize the differences by drawing the compiled circuit" ] }, { "cell_type": "code", "execution_count": 4, "id": "8b259905-2984-4f4a-88d4-d767581685b4", "metadata": {}, "outputs": [], "source": [ "compiler_output = provider.cq_compile(circuit1)" ] }, { "cell_type": "code", "execution_count": 5, "id": "b01be319-68f3-4aed-b9b4-4d6b10b391bc", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "compiler_output.circuit.draw(\"mpl\")" ] }, { "cell_type": "markdown", "id": "617cc752", "metadata": {}, "source": [ "If you would like to compile (or submit) on a different number of qubits, this can be done via the ```grid_shape``` option. This simply sets the shape of the rectangular qubit grid. However, specifying a grid that is incompatible with Sqale's current capabilities will result in an error when submitting." ] }, { "cell_type": "code", "execution_count": 6, "id": "4af423b0", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "example_circuit = qiskit.QuantumCircuit(4, 1)\n", "example_circuit.cx(0, 1)\n", "example_circuit.cx(2, 3)\n", "new_compiler_output = provider.cq_compile(example_circuit, grid_shape=(2, 2))\n", "new_compiler_output.circuit.draw(output=\"mpl\", fold=-1)" ] }, { "cell_type": "markdown", "id": "441a7232-a617-4f35-9fbb-66bcbe8abfec", "metadata": {}, "source": [ "## Multiple circuit compilation" ] }, { "cell_type": "markdown", "id": "9322aa52", "metadata": {}, "source": [ "If you would like to compile a batch of circuits in one-go, `qiskit-superstaq` accepts a list of circuits as well. To illustrate this, let us first create a different example two-qubit circuit, and compile both circuits we have created so far at the same time. " ] }, { "cell_type": "code", "execution_count": 7, "id": "6e6b56e6-92d1-4b3d-b8da-dee099286091", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "circuit2 = qiskit.QuantumCircuit(2)\n", "circuit2.h(0)\n", "circuit2.cx(0, 1)\n", "circuit2.measure_all()\n", "circuit2.draw(output=\"mpl\", fold=-1)" ] }, { "cell_type": "code", "execution_count": 8, "id": "5d3993fd-83f1-42e9-b1e0-f4e553765682", "metadata": {}, "outputs": [], "source": [ "compiler_output = provider.cq_compile([circuit1, circuit2])" ] }, { "cell_type": "code", "execution_count": 9, "id": "d7bdb8fb-a0d0-4fae-932a-f2fc51848f4f", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "compiler_output.circuits[0].draw(\"mpl\")" ] }, { "cell_type": "code", "execution_count": 10, "id": "a02b75d5", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "compiler_output.circuits[1].draw(\"mpl\")" ] }, { "cell_type": "markdown", "id": "886cd54e", "metadata": {}, "source": [ "## Circuit Submission" ] }, { "cell_type": "markdown", "id": "6d8e016c", "metadata": {}, "source": [ "All the functionalities we have seen so far can be applied to submit single- or multi-circuit jobs. For example, the code below will submit both the circuits from earlier to the noiseless Sqale simulator. If you would like to run on the Sqale QPU, change the ```target``` argument in ```get_backend()``` from ```cq_sqale_simulator``` to ```cq_sqale_qpu```. It is recommended to first submit to the simulator for testing to ensure your code runs before submitting to the Sqale QPU. " ] }, { "cell_type": "code", "execution_count": 11, "id": "606607bf", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Counts from qiskit-superstaq submission for 1st circuit: {'0': 52, '1': 48}\n", "Counts from qiskit-superstaq submission for 2nd circuit: {'11': 52, '00': 48}\n" ] } ], "source": [ "backend = provider.get_backend(target=\"cq_sqale_simulator\")\n", "job = backend.run([circuit1, circuit2], shots=100)\n", "\n", "job_result1 = job.result(index=0)\n", "job_result2 = job.result(index=1)\n", "\n", "print(f\"Counts from qiskit-superstaq submission for 1st circuit: {job_result1.get_counts()}\")\n", "print(f\"Counts from qiskit-superstaq submission for 2nd circuit: {job_result2.get_counts()}\")" ] }, { "cell_type": "markdown", "id": "0dbd8614", "metadata": {}, "source": [ "If you would like to submit circuits to a noisy simulator, to see the effects of noise on your simulated measurements without submitting to an actual device, you can additionally pass the argument ```method=noise-sim``` in ```run()```. Here's an example code snippet for a single-circuit simulation:" ] }, { "cell_type": "code", "execution_count": 12, "id": "1e0070df", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Counts from noisy qiskit-superstaq submission: {'00': 38, '11': 56, '01': 4, '10': 2}\n" ] } ], "source": [ "backend = provider.get_backend(\"cq_sqale_simulator\")\n", "job = backend.run(circuit2, shots=100, method=\"noise-sim\")\n", "\n", "print(f\"Counts from noisy qiskit-superstaq submission: {job.result().get_counts()}\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.16" } }, "nbformat": 4, "nbformat_minor": 5 }