{ "cells": [ { "cell_type": "markdown", "id": "cbd42ada-5780-4c1f-8c01-30b928148499", "metadata": {}, "source": [ "# Multiprocessing on GPU\n", "In this tutorial, the idea is to parallelize the reading of several HDF5 files across different processes and to perform the azimuthal integration on the GPU together with Bitshuffle-LZ4 decompression.\n", "The scale of this problem involves 1000 files containing 1000 frames each of 4Mpx resolution—that's one million frames total. The reduced data will be 1000×1000×1000 in single-precision float format.\n", "This is an extreme case where we'll explore how to utilize all available computer resources. The first step is to determine the system topology:\n", "\n", "**Lenovo P620 Workstation**\n", "- 1 processor: AMD Threadripper PRO 3975WX, 32 cores with hyperthreading (64 threads) across 4 NUMA sub-domains. 450W TDP.\n", "- 2 GPUs:\n", " * NVIDIA RTX A5000 (8192 CUDA-cores, 24 GB GDDR6, 16xPCIe4, 230W)\n", " * NVIDIA Quadro P2200 (1280 CUDA-cores, 5GB GDDR5, 16xPCIe3, 75W)\n", "\n", "**Disclaimer:**\n", "- We use the `multiprocess` library instead of `multiprocessing` to demonstrate this procedure within a Jupyter notebook.\n", "- We use `SharedArray` to provide a natural way of sharing the result array in memory between processes." ] }, { "cell_type": "code", "execution_count": 1, "id": "64ae7c41-c094-4b79-96ec-020bff748f40", "metadata": { "execution": { "iopub.execute_input": "2026-06-14T08:56:25.979714Z", "iopub.status.busy": "2026-06-14T08:56:25.979607Z", "iopub.status.idle": "2026-06-14T08:56:26.617298Z", "shell.execute_reply": "2026-06-14T08:56:26.616609Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Invalid MIT-MAGIC-COOKIE-1 key\r\n", "Exporting format `png' to file `/tmp/topo.png'\r\n", "Failed to open /tmp/topo.png for writing (File exists)\r\n" ] }, { "data": { "image/png": "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", "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%matplotlib inline\n", "# use `widget` for better user experience; `inline` is for documentation generation\n", "\n", "#Topology of the computer:\n", "!lstopo /tmp/topo.png\n", "from IPython.display import Image\n", "Image(filename='/tmp/topo.png') " ] }, { "cell_type": "code", "execution_count": 2, "id": "8dd653b1-3040-4f08-9bfe-1b1178cfcde4", "metadata": { "execution": { "iopub.execute_input": "2026-06-14T08:56:26.619565Z", "iopub.status.busy": "2026-06-14T08:56:26.619299Z", "iopub.status.idle": "2026-06-14T08:56:26.849807Z", "shell.execute_reply": "2026-06-14T08:56:26.849238Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "pyFAI version: 2026.6.0-dev0\n", "OpenCL devices:\n", "[0] NVIDIA CUDA: (0,0) NVIDIA RTX A5000, (0,1) Quadro P2200\n", "[1] Portable Computing Language: (1,0) cpu-haswell-AMD Ryzen Threadripper PRO 3975WX 32-Cores\n", "[2] Intel(R) OpenCL: (2,0) AMD Ryzen Threadripper PRO 3975WX 32-Cores\n" ] } ], "source": [ "import os\n", "import glob\n", "import concurrent\n", "import time\n", "import json\n", "from matplotlib.pyplot import subplots\n", "import multiprocess\n", "from multiprocess import Process, Value, Array\n", "if \"mpctx\" in globals():\n", " mpctx = multiprocess.get_context('spawn')\n", "else:\n", " multiprocess.set_start_method('spawn')\n", " mpctx = multiprocess.get_context('spawn')\n", "import numpy\n", "import hdf5plugin\n", "import h5py\n", "import pyFAI\n", "print(\"pyFAI version: \", pyFAI.version)\n", "import SharedArray\n", "from silx.opencl import ocl\n", "from silx.opencl.codec.bitshuffle_lz4 import BitshuffleLz4\n", "import inspect\n", "import collections\n", "Item = collections.namedtuple(\"Item\", \"index filename\")\n", "MAIN_PROCESS = multiprocess.parent_process() is None\n", "print(ocl)" ] }, { "cell_type": "code", "execution_count": 3, "id": "7c6aaba7-377d-4478-87b4-45b1b85c7ce8", "metadata": { "execution": { "iopub.execute_input": "2026-06-14T08:56:26.851105Z", "iopub.status.busy": "2026-06-14T08:56:26.850874Z", "iopub.status.idle": "2026-06-14T08:56:26.854062Z", "shell.execute_reply": "2026-06-14T08:56:26.853613Z" } }, "outputs": [], "source": [ "#This cell contains the parameters for all the processing\n", "params = {\n", " \"DEVICES\": [[0,0], [0,0], [0,0], [0,0], [0,0], [0,0], # 6 instances on the large GPU\n", " [0,1], [0,1], [0,1], # 3 instances on the small GPU\n", " [2,0]], # 1 instance on the CPU-cores\n", " \"NWORKERS\": 10,\n", " \"FRAME_PER_FILE\": 1000,\n", " \"NFILES\" : 1000,\n", " \"NBINS\" : 1000,\n", " \"DETECTOR\":\"Eiger_4M\",\n", " \"pathname\" : \"/tmp/big_%04d.h5\",\n", " \"pathmask\" : \"/tmp/big_????.h5\",\n", " \"dtype\" : \"float32\",\n", " \"SHARED_NAME\" : \"shm://multigpu\",\n", " \"array_shape\" : [1000, 1000, 1000],\n", " }\n", "with open(\"param.json\", \"w\") as w: w.write(json.dumps(params, indent=2))\n", "for k,v in params.items():\n", " globals()[k] = v" ] }, { "cell_type": "code", "execution_count": 4, "id": "0f58cd73-78b5-4b6e-a6cd-2d553d35f3fd", "metadata": { "execution": { "iopub.execute_input": "2026-06-14T08:56:26.855143Z", "iopub.status.busy": "2026-06-14T08:56:26.855033Z", "iopub.status.idle": "2026-06-14T08:56:26.857116Z", "shell.execute_reply": "2026-06-14T08:56:26.856635Z" } }, "outputs": [], "source": [ "def build_integrator(detector=DETECTOR):\n", " \"Build an azimuthal integrator with a dummy geometry\"\n", " geo = {\"detector\": detector, \n", " \"wavelength\": 1e-10} \n", " ai = pyFAI.load(geo)\n", " return ai" ] }, { "cell_type": "code", "execution_count": 5, "id": "1d4a5604-4c2d-4bdb-aea8-63114f9e43c4", "metadata": { "execution": { "iopub.execute_input": "2026-06-14T08:56:26.858144Z", "iopub.status.busy": "2026-06-14T08:56:26.858032Z", "iopub.status.idle": "2026-06-14T08:56:26.865112Z", "shell.execute_reply": "2026-06-14T08:56:26.864515Z" } }, "outputs": [ { "data": { "text/plain": [ "['/tmp/big_0000.h5',\n", " '/tmp/big_0001.h5',\n", " '/tmp/big_0002.h5',\n", " '/tmp/big_0003.h5',\n", " '/tmp/big_0004.h5']" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Generate a set of files\n", "def generate_one_frame(ai, unit=\"q_nm^-1\", dtype=\"uint32\"):\n", " \"\"\"Prepare a frame with little count so that it compresses well\"\"\"\n", " qmax = ai.array_from_unit(unit=unit).max()\n", " q = numpy.linspace(0, qmax, 100)\n", " img = ai.calcfrom1d(q, 100/(1+q*q))\n", " frame = numpy.random.poisson(img).astype(dtype)\n", " return frame\n", "\n", "def generate_files(img):\n", " cmp = hdf5plugin.Bitshuffle()\n", " filename = pathname%0\n", " shape = img.shape\n", " with h5py.File(filename, \"w\") as h:\n", " ds = h.create_dataset(\"data\", shape=(FRAME_PER_FILE,)+shape, chunks=(1,)+shape, dtype=img.dtype, **cmp) \n", " for i in range(FRAME_PER_FILE):\n", " ds[i] = img + i%500 #Each frame has a different value to prevent caching effects\n", " res = [filename]\n", " for i in range(1, NFILES):\n", " new_file = pathname%i\n", " os.link(filename,new_file)\n", " res.append(new_file)\n", " return res\n", "\n", "# Create a set of files with dummy data in them:\n", "if len(glob.glob(pathmask)) == NFILES: \n", " input_files = glob.glob(pathmask)\n", " input_files.sort()\n", "else:\n", " for f in glob.glob(pathmask):\n", " os.remove(f)\n", " input_files = generate_files(generate_one_frame(build_integrator(DETECTOR)))\n", "input_files[:5]" ] }, { "cell_type": "code", "execution_count": 6, "id": "89a5845f-1ce6-41e9-9b1a-4ce532058d4d", "metadata": { "execution": { "iopub.execute_input": "2026-06-14T08:56:26.866489Z", "iopub.status.busy": "2026-06-14T08:56:26.866380Z", "iopub.status.idle": "2026-06-14T08:56:26.869145Z", "shell.execute_reply": "2026-06-14T08:56:26.868620Z" } }, "outputs": [], "source": [ "#This is allows to create and destroy shared numpy arrays\n", "\n", "def create_shared_array(shape, dtype=\"float32\", name=SHARED_NAME, create=False):\n", " if create:\n", " ary = SharedArray.create(name, shape, dtype=dtype)\n", " else:\n", " ary = SharedArray.attach(name)\n", " return ary\n", "\n", "def release_shared(name=SHARED_NAME):\n", " if MAIN_PROCESS:\n", " SharedArray.delete(name)\n", "\n", "result_array = create_shared_array(array_shape, dtype, SHARED_NAME, create=True)" ] }, { "cell_type": "code", "execution_count": 7, "id": "dc73341d-85d8-4a60-9085-3a556312a8a2", "metadata": { "execution": { "iopub.execute_input": "2026-06-14T08:56:26.870812Z", "iopub.status.busy": "2026-06-14T08:56:26.870704Z", "iopub.status.idle": "2026-06-14T08:56:26.875471Z", "shell.execute_reply": "2026-06-14T08:56:26.874952Z" } }, "outputs": [], "source": [ "def worker(rank, queue, shm_name, counter):\n", " \"\"\"Function representing one worker, used in a pool of worker.\n", " \n", " :param rank: integer, index of the worker.\n", " :param queue: input queue, expects Item with index and name of the file to process\n", " :param shm_name: name of the output shared memory to put integrated intensities\n", " :param counter: decremented when quits\n", " :return: nothing, used in a process.\n", " \"\"\"\n", " def new_engine(engine, wg):\n", " \"Change workgroup size of an engine\"\n", " return engine.__class__((engine._data, engine._indices, engine._indptr), \n", " engine.size, empty=engine.empty, unit=engine.unit, \n", " bin_centers=engine.bin_centers, azim_centers = engine.azim_centers, \n", " ctx=engine.ctx, block_size=wg)\n", " #imports:\n", " import pyFAI\n", " import numpy\n", " import SharedArray\n", " from silx.opencl.codec.bitshuffle_lz4 import BitshuffleLz4\n", " import h5py\n", " import json\n", " import sys\n", " #load parameters:\n", " for k,v in json.load(open(\"param.json\")).items():\n", " globals()[k] = v\n", " #Start up the integrator:\n", " ai = pyFAI.load({\"detector\": DETECTOR, \n", " \"wavelength\": 1e-10, \n", " \"rot3\":0})\n", " blank = numpy.zeros(ai.detector.shape, dtype=\"uint32\")\n", " method = (\"full\", \"csr\", \"opencl\", DEVICES[rank%len(DEVICES)])\n", " res = ai.integrate1d(blank, NBINS, method=method)\n", " omega = ai.solidAngleArray()\n", " engine = ai.engines[res.method].engine\n", " \n", " omega_crc = engine.on_device[\"solidangle\"]\n", " engine = new_engine(engine, 512)\n", " \n", " gpu_decompressor = BitshuffleLz4(2000000, blank.size, dtype=blank.dtype, ctx=engine.ctx)\n", " gpu_decompressor.block_size = 128\n", " result_array = SharedArray.attach(SHARED_NAME)\n", " with counter.get_lock():\n", " counter.value += 1\n", " #Worker is ready !\n", " while True:\n", " item = queue.get()\n", " index = item.index\n", " if index<0: \n", " with counter.get_lock():\n", " counter.value -= 1\n", " return\n", " with h5py.File(item.filename, \"r\") as h5:\n", " ds = h5[\"data\"]\n", " for i in range(ds.id.get_num_chunks()):\n", " filter_mask, chunk = ds.id.read_direct_chunk(ds.id.get_chunk_info(i).chunk_offset)\n", " if filter_mask == 0:\n", " # print(f\"{rank}: process frame #{i}\")\n", " dec = gpu_decompressor(chunk)\n", " intensity = engine.integrate_ng(dec, solidangle=omega, solidangle_checksum=omega_crc).intensity\n", " result_array[index, i,:] = intensity.astype(dtype)" ] }, { "cell_type": "code", "execution_count": 8, "id": "c80957b0-fbe3-4692-8536-a56e321b5ba4", "metadata": { "execution": { "iopub.execute_input": "2026-06-14T08:56:26.877104Z", "iopub.status.busy": "2026-06-14T08:56:26.876996Z", "iopub.status.idle": "2026-06-14T08:56:30.923524Z", "shell.execute_reply": "2026-06-14T08:56:30.922700Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/users/kieffer/.venv/py314/lib/python3.14/site-packages/pyopencl/cache.py:496: CompilerWarning: Non-empty compiler output encountered. Set the environment variable PYOPENCL_COMPILER_OUTPUT=1 to see more.\n", " _create_built_program_from_source_cached(\n", "/users/kieffer/.venv/py314/lib/python3.14/site-packages/pyopencl/cache.py:500: CompilerWarning: Non-empty compiler output encountered. Set the environment variable PYOPENCL_COMPILER_OUTPUT=1 to see more.\n", " prg.build(options_bytes, devices)\n" ] }, { "data": { "text/plain": [ "[,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def build_pool(nbprocess, queue, shm_name, counter):\n", " \"\"\"Build a pool of processes with workers, and starts them\"\"\"\n", " pool = []\n", " for i in range(nbprocess):\n", " process = Process(target=worker, name=f\"worker_{i:02d}\", args=(i, queue, shm_name, counter))\n", " process.start()\n", " pool.append(process)\n", " while counter.value" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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5LSm/B7Vli1b8Mtf/hJDhw7FtGnTsN9++zV6SAOqv78f//u//4s333wTkyZNwlFHHaVs99Zbb+FXv/oVOjs7MW3aNLS1taVqsy+47777AADz58+PbPvd736HX//61xg9ejSmTJmCfD6fqk0z27t3L5555hn09PRgypQpGDFiRKTNb3/7W7z44osYP348TjjhBAjF/5fcpE2zKhaL+NWvfoW3334bY8aMwSc+8Qnl/fKb3/wGr776Kg466CAcd9xxyr5M2pCPbDJ33XWXHDp0qDzppJPkkUceKSdOnChffPHFRg9rwDzyyCPyyCOPlMccc4ycM2eOHDlypJw1a5bs6ekJtFuxYoUcPHiwPPnkk+WkSZPkYYcdJjdu3GjdZl9w4403ykGDBsmRI0dGtl199dVyyJAh8tRTT5UTJ06Uxx57rNy6dat1m2a2Zs0aeeCBB8qjjjpKzps3Tx522GHyP//zPwNtLr74Yjls2DA5a9YsOW7cOHnSSSfJ7u5u6zbNauPGjfLwww+XBx10kPzTP/1Teeihh8qJEyfK559/3mvT398vzznnHNnZ2SlPO+00OWrUKDl79my5e/duqzYU1VSF6u2335aDBw+WK1askFKWLvrpp58up0yZ0uCRDZwHH3xQvvrqq97rrVu3yq6uLnnJJZd461566SWZz+flPffcI6WUsre3V06dOlXOmTPHqs2+YP369XLixIly6dKlkUK1Zs0aCUD+/Oc/l1JK+cEHH8iPfexj8gtf+IJVm2b27rvvyhEjRsglS5bIYrEopZRyx44d8tFHH/XaPPjggzKfz8t169ZJKaV877335IEHHiiXLl1q1aaZLVq0SB5xxBGyt7dXSll69kydOlXOnTvXa/PDH/5QDh06VL788stSSik3bdokR44cKb/5zW9ataGopipUK1askMOGDQt8+li9erUEEHh4t5rPfe5zctasWd7rZcuWyQkTJngPHimlXLlypczlcnLbtm3GbZpdT0+PPPzww+WDDz4or7vuukih+vKXvyyPPvrowLqbbrpJDhkyxHsgmbRpZsuWLZMjRoyI/UR/5plnypNPPjmw7mtf+5ocN26cVZtmdu6558pTTjklsO5zn/uc/OM//mPv9amnnir/4i/+ItBm8eLFcvLkyVZtKKqp/jHF888/j0MPPTTwJbqjjz4aQOnvfFvR7t278fTTT2Py5Mneuueffx4f+9jHAv994Oijj0axWMSLL75o3KbZLV68GKeccgrmzJmj3P78888HzhtQOgc7d+7Ea6+9ZtymmT3xxBOYMWMGent78dBDD+Gxxx5Dd3d3oI3uHLz77rt47733jNs0syuvvBLvvPMOLrjgAvzbv/0bLr30Ujz77LNYvny510Z3Dl566SX09fUZt6GopvrHFDt27PBS0ytGjhwJANi+fXsDRtR4F154IXbu3ImlS5d663bs2IFRo0YF2oXPk0mbZnbXXXdh3bp1WL9+vbbNjh07vA86FarzlNSmmW3ZsgX9/f047rjjcNhhh2Hz5s14/fXXcccdd2D27NkAku+7UaNGGbVpZqNHj8aJJ56Ihx56CG+88QZeeuklHHPMMRg/frzXRncO+vv78cEHH2D//fc3akNRTVWo2tvb8cEHHwTWVV632r/8A4C//du/xapVq7B69epAVL7JedqXz+WuXbvw13/911i8eDH+4z/+AwDw3HPPYc+ePfjRj36EE088EQcffHDLnyeg9B7Wrl2L9evXe5/0lyxZgrPPPhubN29GW1sbzxOARYsWYePGjXjllVfQ3t6O/v5+zJ07FwsWLMCjjz4KgPddPTXVX/1NmjQJb7zxRmDdxo0bAQAf/ehHGzGkhrnqqqtw88034+GHH8aJJ54Y2GZynvblcymlxOzZs7Fx40bcf//9uP/++/HCCy+gt7cX999/v/e+dedACIGDDz7YuE0zmzRpEg4//PDAX0d99rOfxfvvv4/f/e53XhvVOdhvv/283yhM2jSzxx9/HHPnzvX+s0M+n8f8+fPxxBNPoL+/H4D+HIwfP94rQiZtSKHR/5HMxrp16yQA+dRTT3nrLr/8cjlu3DjZ19fXwJENrKuuukp2dHQEzoPfww8/LAHIl156yVt3/vnnyyOOOMKqzb5E9Y8p7rzzTtnW1ibffvttb928efPk9OnTrdo0szvvvFPuv//+ga833HbbbTKXy3nrvv3tb8vOzk65fft2KaWUxWJRnnTSSXLevHnePiZtmtnxxx8vP//5zwfWLVmyRHZ1dXmvr7zySnnAAQfIXbt2SSml7Ovrk5MnT5bnn3++VRuKaqpCJaWU55xzjuzq6pI33HCDvOyyy2ShUJB33313o4c1YL7zne9IAPJv/uZv5D333OP9efjhhwPtZs+eLSdNmiS/853vyAsvvFAWCoVUbfYVqkK1d+9eOXXqVDl58mR58803y4ULF8r29na5du1aqzbNrK+vT86YMUNOnTpV3nrrrfKaa66RnZ2d8mtf+5rX5sMPP5RHH320POGEE+T3vvc9eeaZZ8qOjg75wgsvWLVpZj/5yU9kPp+XixYtkrfffru8+OKLZVtbm7zlllu8Ntu2bZMHH3yw/NSnPiW/973vyTlz5sjRo0cHvpto0oaimi49vVgs4s4778Tjjz+OIUOGYMGCBZg+fXqjhzVgvvvd7+LJJ5+MrJ84cSKuu+467/XevXtx++23Y+3atejs7MQ555yD448/PrCPSZt9xUMPPYQHHngAt956a2D97t27ccstt2DDhg0YOXIk/vIv/zKS9GHSppnt2bMHP/jBD7Bu3TqMGDECp59+OmbOnBlo09PTg+9///t44YUXMH78eCxatCjyV8QmbZrZ888/jx//+Md46623MHbsWMyfPz/y1+7btm3D97//fbz66qs48MAD8aUvfQldXV3WbSio6QoVERG1lqb6xxRERNR6WKiIiMhpLFREROQ0FioiInIaCxURETmNhYqIiJzGQkVERE5joSIiIqexUBERkdNYqIiIyGksVERE5DQWKiIictr/B2TLEs4P9iauAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = subplots()\n", "ax.imshow(result_array[:,:,5])" ] }, { "cell_type": "code", "execution_count": 12, "id": "7db29db0-f29c-41c1-89da-b53f93ef09db", "metadata": { "execution": { "iopub.execute_input": "2026-06-14T09:09:10.845550Z", "iopub.status.busy": "2026-06-14T09:09:10.845427Z", "iopub.status.idle": "2026-06-14T09:09:10.848685Z", "shell.execute_reply": "2026-06-14T09:09:10.848047Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Performances: 1316.731 fps\n" ] } ], "source": [ "print(f\"Performances: {NFILES*FRAME_PER_FILE/run_time:.3f} fps\")" ] }, { "cell_type": "code", "execution_count": 13, "id": "c584fc0b-6109-4b4e-a87b-b29ca3d87289", "metadata": { "execution": { "iopub.execute_input": "2026-06-14T09:09:10.850261Z", "iopub.status.busy": "2026-06-14T09:09:10.850146Z", "iopub.status.idle": "2026-06-14T09:09:10.852514Z", "shell.execute_reply": "2026-06-14T09:09:10.851900Z" } }, "outputs": [], "source": [ "release_shared(SHARED_NAME)" ] }, { "cell_type": "markdown", "id": "364f3555-4755-4c30-9de9-8ea5acd832ad", "metadata": {}, "source": [ "## Conclusion\n", "It is possible to achieve 1300 frames per second on a single workstation. \n", "In this configuration, one million Eiger-4M frames are processed in 12 minutes.\n", "\n", "**Energy considerations for processing one million frames:**\n", "- The workstation consumes 700W at the wall outlet, representing 540 kJ (150 Wh) for the data reduction.\n", "- Equivalent processing using only a 6-core workstation takes half a day (40,682 seconds) and consumes 1,561 kJ (433 Wh).\n", "- CPU+GPU-based processing is thus approximately 3× more energy-efficient than CPU-only processing.\n", "\n", "**Other considerations:**\n", "- Here, disk reading is fast enough, so there's no need for too many processes per GPU. If disk I/O is slower, adding more processes could be beneficial.\n", "- Since the output array resides in shared memory, sufficient RAM must be available to accommodate it. In this case, 512 GB of memory is available." ] }, { "cell_type": "code", "execution_count": null, "id": "5caa8246-ce34-4bac-8461-4ed4b5765029", "metadata": {}, "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.14.0" } }, "nbformat": 4, "nbformat_minor": 5 }