{ "cells": [ { "cell_type": "markdown", "id": "a3082d18-56df-4834-8963-586a5500bced", "metadata": { "editable": true, "papermill": { "duration": 0.004269, "end_time": "2025-01-30T07:38:23.573616", "exception": false, "start_time": "2025-01-30T07:38:23.569347", "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.011831, "end_time": "2025-01-30T07:38:23.588580", "exception": false, "start_time": "2025-01-30T07:38:23.576749", "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": "f8db2c21", "metadata": { "papermill": { "duration": 0.005863, "end_time": "2025-01-30T07:38:23.596020", "exception": false, "start_time": "2025-01-30T07:38:23.590157", "status": "completed" }, "tags": [ "injected-parameters" ] }, "outputs": [], "source": [ "# Parameters\n", "decoder = \"bpuf\"\n", "json_filename = \"speed-rsc-bpuf.json\"\n" ] }, { "cell_type": "code", "execution_count": 3, "id": "5e4bf8f4-0e7c-453e-aacd-18c9061a999c", "metadata": { "editable": true, "papermill": { "duration": 0.01542, "end_time": "2025-01-30T07:38:23.613208", "exception": false, "start_time": "2025-01-30T07:38:23.597788", "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.011196, "end_time": "2025-01-30T07:38:23.626051", "exception": false, "start_time": "2025-01-30T07:38:23.614855", "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.11295, "end_time": "2025-01-30T07:38:24.740562", "exception": false, "start_time": "2025-01-30T07:38:23.627612", "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": 70.359319, "end_time": "2025-01-30T07:39:35.101337", "exception": false, "start_time": "2025-01-30T07:38:24.742018", "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.011343s, average: 2.836e-03s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating initialization of 8 shots, elapsed: 0.022985s, average: 2.873e-03s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating initialization of 16 shots, elapsed: 0.043419s, average: 2.714e-03s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating initialization of 32 shots, elapsed: 0.085455s, average: 2.670e-03s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating initialization of 64 shots, elapsed: 0.172413s, average: 2.694e-03s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "initialization time: 2.694e-03s\n", "\r\n", "\u001b[KEvaluating decoding of 50 shots, elapsed: 0.001389s, average: 2.778e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 100 shots, elapsed: 0.002805s, average: 2.805e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 200 shots, elapsed: 0.004373s, average: 2.186e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 400 shots, elapsed: 0.007695s, average: 1.924e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 800 shots, elapsed: 0.015103s, average: 1.888e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 1600 shots, elapsed: 0.030423s, average: 1.901e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 3200 shots, elapsed: 0.060204s, average: 1.881e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 6400 shots, elapsed: 0.120163s, average: 1.878e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 12800 shots, elapsed: 0.235945s, average: 1.843e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 25600 shots, elapsed: 0.473115s, average: 1.848e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 51200 shots, elapsed: 0.944018s, average: 1.844e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 102400 shots, elapsed: 1.884821s, average: 1.841e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 3585698 shots, elapsed: 65.603199s, average: 1.830e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "decoding time: 1.830e-05s\n" ] }, { "data": { "text/plain": [ "DecodingSpeedResult(elapsed=65.60319942576461, shots=3585698)" ] }, "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.001788, "end_time": "2025-01-30T07:39:35.105066", "exception": false, "start_time": "2025-01-30T07:39:35.103278", "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.020946, "end_time": "2025-01-30T07:39:35.127884", "exception": false, "start_time": "2025-01-30T07:39:35.106938", "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": null, "id": "1cfa5901-2d84-4321-90e2-220ac77b9da1", "metadata": { "editable": true, "papermill": { "duration": 37207.639322, "end_time": "2025-01-30T17:59:42.769260", "exception": false, "start_time": "2025-01-30T07:39:35.129938", "status": "completed" }, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "d: 23, p: 1e-05\n", "\u001b[KEvaluating initialization of 1 shots, elapsed: 3.361548s, average: 3.362e+00s per shot\n", "initialization time: 3.362e+00s\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating initialization of 1 shots, elapsed: 0.742562s, average: 7.426e-01s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "initialization time: 7.426e-01s\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 50 shots, elapsed: 0.343724s, average: 6.874e-03s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 100 shots, elapsed: 107.877588s, average: 1.079e+00s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "decoding time: 1.079e+00s\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "d: 15, p: 0.0001\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating initialization of 1 shots, elapsed: 0.743064s, average: 7.431e-01s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "initialization time: 7.431e-01s\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 50 shots, elapsed: 215.223921s, average: 4.304e+00s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "decoding time: 4.304e+00s\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "d: 13, p: 0.01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating initialization of 1 shots, elapsed: 40.605314s, average: 4.061e+01s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "initialization time: 4.061e+01s\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 50 shots, elapsed: 2006.447966s, average: 4.013e+01s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "decoding time: 4.013e+01s\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "d: 17, p: 1e-05\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating initialization of 1 shots, elapsed: 1.272002s, average: 1.272e+00s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "initialization time: 1.272e+00s\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 50 shots, elapsed: 245.466330s, average: 4.909e+00s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "decoding time: 4.909e+00s\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "d: 17, p: 0.0001\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating initialization of 1 shots, elapsed: 1.140445s, average: 1.140e+00s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "initialization time: 1.140e+00s\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 50 shots, elapsed: 1229.138986s, average: 2.458e+01s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "decoding time: 2.458e+01s\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "d: 19, p: 1e-05\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating initialization of 1 shots, elapsed: 1.687424s, average: 1.687e+00s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "initialization time: 1.687e+00s\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 50 shots, elapsed: 546.008690s, average: 1.092e+01s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "decoding time: 1.092e+01s\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "d: 23, p: 1e-05\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating initialization of 1 shots, elapsed: 3.017487s, average: 3.017e+00s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "initialization time: 3.017e+00s\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 50 shots, elapsed: 1.197973s, average: 2.396e-02s per shot\r" ] } ], "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": null, "end_time": null, "exception": null, "start_time": null, "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": 37280.493852, "end_time": "2025-01-30T17:59:43.114434", "environment_variables": {}, "exception": null, "input_path": "decoding_speed_mwpm.ipynb", "output_path": "decoding_speed_bpuf.ipynb", "parameters": { "decoder": "bpuf", "json_filename": "speed-rsc-bpuf.json" }, "start_time": "2025-01-30T07:38:22.620582", "version": "2.6.0" } }, "nbformat": 4, "nbformat_minor": 5 }