{ "cells": [ { "cell_type": "markdown", "id": "a3082d18-56df-4834-8963-586a5500bced", "metadata": { "editable": true, "papermill": { "duration": 0.002956, "end_time": "2025-01-30T07:37:09.086584", "exception": false, "start_time": "2025-01-30T07:37:09.083628", "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.025247, "end_time": "2025-01-30T07:37:09.113952", "exception": false, "start_time": "2025-01-30T07:37:09.088705", "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": "ebacb6be", "metadata": { "papermill": { "duration": 0.004891, "end_time": "2025-01-30T07:37:09.120197", "exception": false, "start_time": "2025-01-30T07:37:09.115306", "status": "completed" }, "tags": [ "injected-parameters" ] }, "outputs": [], "source": [ "# Parameters\n", "decoder = \"bplsd\"\n", "json_filename = \"speed-rsc-bplsd.json\"\n" ] }, { "cell_type": "code", "execution_count": 3, "id": "5e4bf8f4-0e7c-453e-aacd-18c9061a999c", "metadata": { "editable": true, "papermill": { "duration": 0.013308, "end_time": "2025-01-30T07:37:09.134951", "exception": false, "start_time": "2025-01-30T07:37:09.121643", "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.009758, "end_time": "2025-01-30T07:37:09.146029", "exception": false, "start_time": "2025-01-30T07:37:09.136271", "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.108189, "end_time": "2025-01-30T07:37:10.255594", "exception": false, "start_time": "2025-01-30T07:37:09.147405", "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.045604, "end_time": "2025-01-30T07:38:21.302694", "exception": false, "start_time": "2025-01-30T07:37:10.257090", "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.011626s, average: 2.907e-03s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating initialization of 8 shots, elapsed: 0.022128s, average: 2.766e-03s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating initialization of 16 shots, elapsed: 0.044029s, average: 2.752e-03s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating initialization of 32 shots, elapsed: 0.086301s, average: 2.697e-03s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating initialization of 64 shots, elapsed: 0.176097s, average: 2.752e-03s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "initialization time: 2.752e-03s\n", "\r\n", "\u001b[KEvaluating decoding of 50 shots, elapsed: 0.001237s, average: 2.474e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 100 shots, elapsed: 0.002304s, average: 2.304e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 200 shots, elapsed: 0.004032s, average: 2.016e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 400 shots, elapsed: 0.007877s, average: 1.969e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 800 shots, elapsed: 0.015970s, average: 1.996e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 1600 shots, elapsed: 0.029462s, average: 1.841e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 3200 shots, elapsed: 0.059711s, average: 1.866e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 6400 shots, elapsed: 0.125208s, average: 1.956e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 12800 shots, elapsed: 0.242233s, average: 1.892e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 25600 shots, elapsed: 0.475308s, average: 1.857e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 51200 shots, elapsed: 0.952540s, average: 1.860e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 102400 shots, elapsed: 1.896588s, average: 1.852e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 3563452 shots, elapsed: 66.250613s, average: 1.859e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "decoding time: 1.859e-05s\n" ] }, { "data": { "text/plain": [ "DecodingSpeedResult(elapsed=66.25061327777075, shots=3563452)" ] }, "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.001718, "end_time": "2025-01-30T07:38:21.306476", "exception": false, "start_time": "2025-01-30T07:38:21.304758", "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.027713, "end_time": "2025-01-30T07:38:21.335902", "exception": false, "start_time": "2025-01-30T07:38:21.308189", "status": "completed" }, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [ { "data": { "image/png": "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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.394053, "end_time": "2025-01-30T07:38:21.732108", "exception": false, "start_time": "2025-01-30T07:38:21.338055", "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.001939, "end_time": "2025-01-30T07:38:21.736320", "exception": false, "start_time": "2025-01-30T07:38:21.734381", "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.038487, "end_time": "2025-01-30T07:38:22.160296", "environment_variables": {}, "exception": null, "input_path": "decoding_speed_mwpm.ipynb", "output_path": "decoding_speed_bplsd.ipynb", "parameters": { "decoder": "bplsd", "json_filename": "speed-rsc-bplsd.json" }, "start_time": "2025-01-30T07:37:08.121809", "version": "2.6.0" } }, "nbformat": 4, "nbformat_minor": 5 }