{ "cells": [ { "cell_type": "markdown", "id": "a3082d18-56df-4834-8963-586a5500bced", "metadata": { "editable": true, "papermill": { "duration": 0.002743, "end_time": "2025-01-30T07:30:59.479453", "exception": false, "start_time": "2025-01-30T07:30:59.476710", "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.007266, "end_time": "2025-01-30T07:30:59.488685", "exception": false, "start_time": "2025-01-30T07:30:59.481419", "status": "completed" }, "slideshow": { "slide_type": "" }, "tags": [ "parameters" ] }, "outputs": [], "source": [ "# This cell is tagged `parameters` and will be override by `papermill`\n", "decoder: str = \"mwpf\"\n", "json_filename: str = \"speed-rsc-mwpf-026.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": "5e4bf8f4-0e7c-453e-aacd-18c9061a999c", "metadata": { "editable": true, "papermill": { "duration": 0.012077, "end_time": "2025-01-30T07:30:59.507403", "exception": false, "start_time": "2025-01-30T07:30:59.495326", "status": "completed" }, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 2" ] }, { "cell_type": "code", "execution_count": 3, "id": "552dcc10-a319-487b-a20b-09221382176b", "metadata": { "editable": true, "papermill": { "duration": 0.008583, "end_time": "2025-01-30T07:30:59.517282", "exception": false, "start_time": "2025-01-30T07:30:59.508699", "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": 4, "id": "f4ce38b6-65b8-4ec5-b097-aab9f6943e10", "metadata": { "editable": true, "papermill": { "duration": 1.112265, "end_time": "2025-01-30T07:31:00.630845", "exception": false, "start_time": "2025-01-30T07:30:59.518580", "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": 5, "id": "2eb79028-afab-46a7-a36e-f567fd486716", "metadata": { "editable": true, "papermill": { "duration": 71.125079, "end_time": "2025-01-30T07:32:11.757511", "exception": false, "start_time": "2025-01-30T07:31:00.632432", "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": [ "\n", "initialization time: 2.199e-03s\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 50 shots, elapsed: 0.019517s, average: 3.903e-04s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 100 shots, elapsed: 0.004250s, average: 4.250e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 200 shots, elapsed: 0.004647s, average: 2.324e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 400 shots, elapsed: 0.007703s, average: 1.926e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 800 shots, elapsed: 0.016693s, average: 2.087e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 1600 shots, elapsed: 0.033325s, average: 2.083e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 3200 shots, elapsed: 0.064646s, average: 2.020e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 6400 shots, elapsed: 0.123402s, average: 1.928e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 12800 shots, elapsed: 0.235163s, average: 1.837e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 25600 shots, elapsed: 0.466897s, average: 1.824e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 51200 shots, elapsed: 0.933903s, average: 1.824e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 102400 shots, elapsed: 1.857947s, average: 1.814e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\r\n", "\u001b[KEvaluating decoding of 3637563 shots, elapsed: 66.421162s, average: 1.826e-05s per shot\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "decoding time: 1.826e-05s\n" ] }, { "data": { "text/plain": [ "DecodingSpeedResult(elapsed=66.42116174319199, shots=3637563)" ] }, "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.001695, "end_time": "2025-01-30T07:32:11.761123", "exception": false, "start_time": "2025-01-30T07:32:11.759428", "status": "completed" }, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "Define the plot functionality" ] }, { "cell_type": "code", "execution_count": 6, "id": "aea5f255-0cca-4a5b-a43d-f5d4b460d502", "metadata": { "editable": true, "papermill": { "duration": 0.021027, "end_time": "2025-01-30T07:32:11.783845", "exception": false, "start_time": "2025-01-30T07:32:11.762818", "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": 7, "id": "1cfa5901-2d84-4321-90e2-220ac77b9da1", "metadata": { "editable": true, "papermill": { "duration": 0.363029, "end_time": "2025-01-30T07:32:12.148953", "exception": false, "start_time": "2025-01-30T07:32:11.785924", "status": "completed" }, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "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.002018, "end_time": "2025-01-30T07:32:12.153279", "exception": false, "start_time": "2025-01-30T07:32:12.151261", "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": 73.848904, "end_time": "2025-01-30T07:32:12.574026", "environment_variables": {}, "exception": null, "input_path": "decoding_speed_mwpm.ipynb", "output_path": "decoding_speed_mwpf.ipynb", "parameters": { "decoder": "mwpf", "json_filename": "speed-rsc-mwpf.json" }, "start_time": "2025-01-30T07:30:58.725122", "version": "2.6.0" } }, "nbformat": 4, "nbformat_minor": 5 }