{ "cells": [ { "cell_type": "markdown", "id": "a3082d18-56df-4834-8963-586a5500bced", "metadata": { "editable": true, "papermill": { "duration": 0.00279, "end_time": "2025-01-30T07:29:44.744151", "exception": false, "start_time": "2025-01-30T07:29:44.741361", "status": "completed" }, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "# Decoding Speed" ] }, { "cell_type": "code", "execution_count": 1, "id": "afceb91f-5b83-487f-96f9-5015002f5daf", "metadata": { "editable": true, "papermill": { "duration": 0.008961, "end_time": "2025-01-30T07:29:44.755262", "exception": false, "start_time": "2025-01-30T07:29:44.746301", "status": "completed" }, "slideshow": { "slide_type": "" }, "tags": [ "parameters" ] }, "outputs": [], "source": [ "# This cell is tagged `parameters` and will be override by `papermill`\n", "decoder: str = \"mwpm\"\n", "json_filename: str = \"speed-rsc-mwpm.json\" # where to save the result, must be provided\n", "\n", "rounds: int = 200\n", "kwargs = dict(\n", " min_time = 60,\n", " min_shots = 50,\n", " min_init_time = 0.1,\n", " min_init_shots = 1,\n", ")\n", "max_per_round_time: float = 0.1 # if each round takes more than 100ms to decode, then do not run the next `d`, since it is not meaningful anymore" ] }, { "cell_type": "code", "execution_count": 2, "id": "2030562d", "metadata": { "papermill": { "duration": 0.004367, "end_time": "2025-01-30T07:29:44.761060", "exception": false, "start_time": "2025-01-30T07:29:44.756693", "status": "completed" }, "tags": [ "injected-parameters" ] }, "outputs": [], "source": [ "# Parameters\n", "decoder = \"huf\"\n", "json_filename = \"speed-rsc-huf.json\"\n" ] }, { "cell_type": "code", "execution_count": 3, "id": "5e4bf8f4-0e7c-453e-aacd-18c9061a999c", "metadata": { "editable": true, "papermill": { "duration": 0.012121, "end_time": "2025-01-30T07:29:44.774439", "exception": false, "start_time": "2025-01-30T07:29:44.762318", "status": "completed" }, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 2" ] }, { "cell_type": "code", "execution_count": 4, "id": "552dcc10-a319-487b-a20b-09221382176b", "metadata": { "editable": true, "papermill": { "duration": 0.008418, "end_time": "2025-01-30T07:29:44.784112", "exception": false, "start_time": "2025-01-30T07:29:44.775694", "status": "completed" }, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [ "# import psutil\n", "# psutil.Process().nice(0)# if on *ux\n", "# psutil.Process().nice(psutil.IDLE_PRIORITY_CLASS)# if on win" ] }, { "cell_type": "code", "execution_count": 5, "id": "f4ce38b6-65b8-4ec5-b097-aab9f6943e10", "metadata": { "editable": true, "papermill": { "duration": 1.217219, "end_time": "2025-01-30T07:29:46.002646", "exception": false, "start_time": "2025-01-30T07:29:44.785427", "status": "completed" }, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [ "from qec_lego_bench.cli.decoding_speed import decoding_speed, DecodingSpeedResult\n", "from qec_lego_bench.hpc.job_store import Job, JobStore\n", "from qec_lego_bench.hpc.plotter.logical_error_rate_plotter import *" ] }, { "cell_type": "code", "execution_count": 6, "id": "2eb79028-afab-46a7-a36e-f567fd486716", "metadata": { "editable": true, "papermill": { "duration": 71.396494, "end_time": "2025-01-30T07:30:57.400862", "exception": false, "start_time": "2025-01-30T07:29:46.004368", "status": "completed" }, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "d_vec: [3, 5, 7, 9, 11, 13, 15, 17, 19, 23, 27, 31, 37, 43, 51]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating initialization of 4 shots, elapsed: 0.008781s, average: 2.195e-03s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating initialization of 8 shots, elapsed: 0.016439s, average: 2.055e-03s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating initialization of 16 shots, elapsed: 0.034858s, average: 2.179e-03s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating initialization of 32 shots, elapsed: 0.067738s, average: 2.117e-03s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating initialization of 64 shots, elapsed: 0.136774s, average: 2.137e-03s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "initialization time: 2.137e-03s\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 50 shots, elapsed: 0.001837s, average: 3.675e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 100 shots, elapsed: 0.001722s, average: 1.722e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 200 shots, elapsed: 0.003501s, average: 1.750e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 400 shots, elapsed: 0.006243s, average: 1.561e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 800 shots, elapsed: 0.013047s, average: 1.631e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 1600 shots, elapsed: 0.025565s, average: 1.598e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 3200 shots, elapsed: 0.051731s, average: 1.617e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 6400 shots, elapsed: 0.107014s, average: 1.672e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 12800 shots, elapsed: 0.199681s, average: 1.560e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 25600 shots, elapsed: 0.397383s, average: 1.552e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 51200 shots, elapsed: 0.819319s, average: 1.600e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 102400 shots, elapsed: 1.578419s, average: 1.541e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 4281752 shots, elapsed: 67.199129s, average: 1.569e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "decoding time: 1.569e-05s\n" ] }, { "data": { "text/plain": [ "DecodingSpeedResult(elapsed=67.19912927482073, shots=4281752)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def generate_d_vec(ratio: float = 1.18, max_d: int = 51) -> list[int]:\n", " d = 3\n", " d_vec = [d]\n", " while d <= max_d:\n", " int_d = 2 * round(d / 2) + 1\n", " if int_d != d_vec[-1]:\n", " d_vec.append(int_d)\n", " d *= ratio\n", " return d_vec\n", "d_vec = generate_d_vec()\n", "print(\"d_vec:\", d_vec)\n", "p_vec = [0.00001, 0.0001, 0.001, 0.003, 0.01]\n", "\n", "def evaluation_function(d: int, p: float, rounds: int, verbose: bool = True) -> DecodingSpeedResult:\n", " if verbose:\n", " print(f\"d: {d}, p: {p}\")\n", " return decoding_speed(decoder=decoder, code=f\"rsc(d={d},p={p})\", **kwargs, no_print=not verbose)\n", "\n", "jobs = [Job(d=d, p=p, rounds=rounds) for p in p_vec for d in d_vec[:1]] # only add the smallest d and dynamically add others\n", "# evaluation_function(min(d_vec), min(p_vec), rounds)" ] }, { "cell_type": "markdown", "id": "ebd460d0-efa9-4075-9a1d-a62791230623", "metadata": { "editable": true, "papermill": { "duration": 0.001852, "end_time": "2025-01-30T07:30:57.404752", "exception": false, "start_time": "2025-01-30T07:30:57.402900", "status": "completed" }, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "Define the plot functionality" ] }, { "cell_type": "code", "execution_count": 7, "id": "aea5f255-0cca-4a5b-a43d-f5d4b460d502", "metadata": { "editable": true, "papermill": { "duration": 0.028329, "end_time": "2025-01-30T07:30:57.434867", "exception": false, "start_time": "2025-01-30T07:30:57.406538", "status": "completed" }, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [ { "data": { "image/png": "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MSciIhpBuERMD4tHAh0dHbF7924UFRXh008/xV/+8hdcvnwZf/7zn4ckAPanvb0deXl5SExMNLXJ5XIkJiYiJydnQH0EBgbi5MmTaG1thcFgwLFjxxASEnLH7Tdv3gx3d3fTIzAw8L6Pg4iIiMheLL5tXLegoCAEBQVZs5YBq66uhsFggK+vr1m7r68vLl++PKA+HnnkETzxxBOYOnUq5HI5EhISMG/evDtuv3btWqSmppqed48EEhEREY1EAwqBvcPPvaSnpw+6GFvbtGkTNm3aNKBtVSoVVCrVEFdEREREZBsDCoEFBQVmz/Pz89HZ2Wk6fXrlyhUoFApERUVZv8J+eHl5QaFQoKKiwqy9oqICfn5+NqmBiIiIaCQbUAj8+uuvTV+np6dDrVZjz5490Gg0AIC6ujosWrQIs2bNGpoqb+Po6IioqChkZ2ebJosYjUZkZ2fj1VdftUkNRERERCOZxdcEbt26FVlZWaYACAAajQYbN27E7Nmz8dprr1mlsKamJhQWFpqeX7t2DWfOnIFWq0VQUBBSU1ORnJyM6OhoxMTEYPv27dDr9Vi0aJFV9k9ERET0ILM4BDY0NKCqqqpPe1VVFRobG61SFAB89913iI+PNz3vvi4xOTkZmZmZeOaZZ1BVVYX169ejvLwckZGROHLkSJ/JIkRERETUl8XrBC5cuBDffvsttm7dipiYGABAbm4uVq5ciVmzZmHPnj1DUuhww3WGiIiIRh7+/e5h8Ujgrl27sGLFCjz//PPo6Ojo6kSpREpKCtLS0qxeIBERERFZn8Ujgd30ej2KiooAAMHBwRg1apRVCxvu+D8JIiKikYd/v3sMerHoUaNGYcqUKdashYiIiIhsxOLbxhERERHRyMcQSERERCRBDIFEREREEsQQSERERCRBDIFEREREEsQQSERERCRBDIFEREREEsQQSERERCRBDIFEREREEsQQSERERCRBDIFEREREEsQQSERERCRBDIFEREREEsQQSERERCRBDIFEREREEsQQSERERCRBDIFEREREEsQQSERERCRBDIFEREREEsQQSERERCRBDIFEREREEsQQSERERCRBDIFEREREEsQQSERERCRBDIFEREREEsQQSERERCRBDIFEREREEsQQSERERCRBDIFEREREEsQQSERERCRBDIFEREREEsQQSERERCRBDIFERERE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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from decoding_time_plotter import DecodingTimePlotter\n", "\n", "plotter = DecodingTimePlotter(p_vec=p_vec, d_vec=d_vec, rounds=rounds, max_per_round_time=max_per_round_time)" ] }, { "cell_type": "code", "execution_count": 8, "id": "1cfa5901-2d84-4321-90e2-220ac77b9da1", "metadata": { "editable": true, "papermill": { "duration": 0.409983, "end_time": "2025-01-30T07:30:57.846950", "exception": false, "start_time": "2025-01-30T07:30:57.436967", "status": "completed" }, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [ { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "job_store = JobStore(evaluation_function, jobs, result_type=DecodingSpeedResult, filename=json_filename)\n", "job_store.execute(loop_callback=plotter)" ] }, { "cell_type": "code", "execution_count": null, "id": "a2edb553-f1b5-41ba-9643-86978a83b3e8", "metadata": { "editable": true, "papermill": { "duration": 0.002346, "end_time": "2025-01-30T07:30:57.851613", "exception": false, "start_time": "2025-01-30T07:30:57.849267", "status": "completed" }, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [] } ], "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.11.6" }, "papermill": { "default_parameters": {}, "duration": 74.233181, "end_time": "2025-01-30T07:30:58.273010", "environment_variables": {}, "exception": null, "input_path": "decoding_speed_mwpm.ipynb", "output_path": "decoding_speed_huf.ipynb", "parameters": { "decoder": "huf", "json_filename": "speed-rsc-huf.json" }, "start_time": "2025-01-30T07:29:44.039829", "version": "2.6.0" } }, "nbformat": 4, "nbformat_minor": 5 }