{ "cells": [ { "cell_type": "markdown", "id": "aba2ed24-0160-49f3-9001-5d8a09fb23b5", "metadata": {}, "source": [ "# Image decompression and azimuthal integration on the GPU\n", "\n", "This tutorial explains how it is possible to speed-up azimuthal integration by speeding-up the critical part: the data transfer to the GPU.\n", "\n", "For this tutorial, a very recent version of `silx` is needed, newer than fall 2022 (available in release 1.2)\n", "\n", "**Credits:**\n", "\n", "* Thomas Vincent (ESRF) for the HDF5 direct chunk read and the Jupyter-slurm\n", "* Jon Wright (ESRF) for the initial prototype of the bitshuffle-LZ4 decompression on the GPU\n", "* Pierre Paleo (ESRF) for struggling with this kind of stuff with GPUs\n", "\n", "**Nota:** a (fast) GPU is needed for this tutorial with OpenCL properly setup !\n", "\n", "The example taken here is the same as the multithreading example: 4096 frames of Eiger_4M" ] }, { "cell_type": "code", "execution_count": 1, "id": "35d7f634-2c20-4ed0-8e2e-555de196df8d", "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "# use `widget` for better user experience; `inline` is for documentation generation" ] }, { "cell_type": "code", "execution_count": 2, "id": "50803786-8f10-46d8-8fdc-405a59c235cf", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "OpenCL devices:\n", "[0] Portable Computing Language: (0,0) pthread-POWER9, altivec supported, (0,1) Tesla V100-SXM2-32GB, (0,2) Tesla V100-SXM2-32GB\n", "[1] NVIDIA CUDA: (1,0) Tesla V100-SXM2-32GB, (1,1) Tesla V100-SXM2-32GB" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import sys, os, collections, struct, time\n", "import numpy, pyFAI\n", "import h5py, hdf5plugin\n", "from matplotlib.pyplot import subplots\n", "import bitshuffle\n", "import pyopencl.array as cla\n", "import silx\n", "from silx.opencl import ocl\n", "from silx.opencl.codec.bitshuffle_lz4 import BitshuffleLz4\n", "start_time = time.time()\n", "ocl" ] }, { "cell_type": "code", "execution_count": 3, "id": "9e4395dc-8944-4276-ac98-66d8174e48d4", "metadata": {}, "outputs": [], "source": [ "#Here we select the OpenCL device\n", "target = (0,1)" ] }, { "cell_type": "markdown", "id": "8d74f81c-7f0e-4af2-a672-59b5bd972377", "metadata": {}, "source": [ "## Setup the enviroment:\n", "\n", "This is a purely virtual experiment, we will use an Eiger 4M detector with data integrated over 1000 bins. Those parameters can be tuned.\n", "\n", "Random data are generated, to keep this file fairly small, it is generated with small numbers which compress nicely. The speed of the drive where you will put the file is likely to have a huge impact !" ] }, { "cell_type": "code", "execution_count": 4, "id": "c578b3e4-5912-4a02-9b4c-349872469324", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "HDF5PluginBuildOptions(openmp=False, native=False, sse2=True, avx2=False, cpp11=True, filter_file_extension='.so', embedded_filters=('blosc', 'bshuf', 'fcidecomp', 'lz4', 'zfp', 'zstd'))" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "det = pyFAI.detector_factory(\"eiger_4M\")\n", "shape = det.shape\n", "dtype = numpy.dtype(\"uint32\")\n", "filename = \"/tmp/big.h5\"\n", "nbins = 1000\n", "cmp = hdf5plugin.Bitshuffle()\n", "hdf5plugin.config" ] }, { "cell_type": "code", "execution_count": 5, "id": "b883ae1c-0549-40cd-9753-ff2d11cb6448", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of frames the computer can host in memory: 34357.084\n" ] } ], "source": [ "mem_bytes = os.sysconf('SC_PAGE_SIZE') * os.sysconf('SC_PHYS_PAGES')\n", "print(f\"Number of frames the computer can host in memory: {mem_bytes/(numpy.prod(shape)*dtype.itemsize):.3f}\")\n", "if os.environ.get('SLURM_MEM_PER_NODE'):\n", " print(f\"Number of frames the computer can host in memory with SLURM restrictions: {int(os.environ['SLURM_MEM_PER_NODE'])*(1<<20)/(numpy.prod(shape)*dtype.itemsize):.3f}\")" ] }, { "cell_type": "code", "execution_count": 6, "id": "a2c253af-504f-4909-b333-235c218b00e2", "metadata": {}, "outputs": [], "source": [ "#The computer being limited to 64G of RAM, the number of frames actually possible is 3800.\n", "nbframes = 4096 # slightly larger than the maximum achievable ! Such a dataset should not host in memory." ] }, { "cell_type": "code", "execution_count": 7, "id": "1b5e3e71-4c5a-4c67-96b3-91e602deb027", "metadata": {}, "outputs": [], "source": [ "#Prepare a frame with little count so that it compresses well\n", "geo = {\"detector\": det, \n", " \"wavelength\": 1e-10, \n", " \"rot3\":0} #work around a bug https://github.com/silx-kit/pyFAI/pull/1749\n", "ai = pyFAI.load(geo)\n", "omega = ai.solidAngleArray()\n", "q = numpy.arange(15)\n", "img = ai.calcfrom1d(q, 100/(1+q*q))\n", "frame = numpy.random.poisson(img).astype(dtype)" ] }, { "cell_type": "code", "execution_count": 8, "id": "b4fb2aa7-4158-488f-80e0-690283858f8f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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nw0//OEPw/nnnx9uueWWtP/w4cNh+vTp4dZbbw07d+4MTzzxRJgwYUL413/91+E6zGGHdV6XLVsWlixZkrl2Dx48mBlTntcsFi9eHB577LGwc+fO0NvbGz72sY+F2bNnh6NHj6ZjirjnX3vttTBx4sRw5513hpdffjk89NBDYdy4cWHDhg1uXUcdOX3kIx8JXV1d6fuTJ0+GmTNnhtWrV4+gVo2L++67L1x22WVs36FDh8L48ePDU089lba98sorAQBCT09PCOGUAWlqagp9fX3pmEcffTS0traGY8eO1VX3RgQ1ooODg6GjoyM88MADaduhQ4dCS0tLeOKJJ0IIIbz88ssBAMLzzz+fjvn+978fKpVK+N///d8QQgiPPPJImDJlSuac3nPPPWHevHl1PqLGgERO1113nTinPK829u/fHwAgbN26NYRQ3D3/hS98IVx00UWZtW666aawePFit26jKqx3/Phx2L59OyxcuDBta2pqgoULF0JPT88IatbY+MUvfgEzZ86EuXPnwq233gp79+4FAIDt27fDiRMnMufzggsugNmzZ6fns6enBy655BKYPn16Ombx4sXQ398Pu3btGt4DaUDs2bMH+vr6Muewra0NFixYkDmHkydPhg996EPpmIULF0JTUxM899xz6ZirrroKmpub0zGLFy+G3bt3w1tvvTVMR9N46O7uhvb2dpg3bx7cfvvt6U/lAJTn1YPDhw8DwLu/4lDUPd/T05ORkYyJscOjipz+7//+D06ePJk5aQAA06dPh76+vhHSqrGxYMECWLduHWzYsAEeffRR2LNnD1x55ZVw5MgR6Ovrg+bmZpg8eXJmDj6ffX197PlO+sY6knOgXZN9fX3Q3t6e6T/jjDNg6tSp5XlWsGTJEvj6178OmzZtgi996UuwdetWWLp0KZw8eerHJcvzqmNwcBDuuOMO+OhHPwoXX3wxAEBh97w0pr+/H95++22XfqP2JzNK+LB06dL09aWXXgoLFiyA8847D775zW/ChAkTRlCzEiV03HzzzenrSy65BC699FJ43/veB93d3XDNNdeMoGanB7q6umDnzp3wox/9aKRVYTGqPKdp06bBuHHjqipL9u3bBx0dHSOk1emFyZMnw+///u/Dq6++Ch0dHXD8+HE4dOhQZgw+nx0dHez5TvrGOpJzoF2THR0dsH///kz/wMAAHDx4sDzPEZg7dy5MmzYNXn31VQAoz6uGFStWwHe+8x3YsmULnHvuuWl7Ufe8NKa1tdW96R1V5NTc3Azz58+HTZs2pW2Dg4OwadMm6OzsHEHNTh8cPXoU/ud//gdmzJgB8+fPh/Hjx2fO5+7du2Hv3r3p+ezs7ISf/exnGSOwceNGaG1thQsvvHDY9W80zJkzBzo6OjLnsL+/H5577rnMOTx06BBs3749HbN582YYHByEBQsWpGO2bdsGJ06cSMds3LgR5s2bB1OmTBmmo2ls/PrXv4YDBw7AjBkzAKA8rxxCCLBixQp4+umnYfPmzTBnzpxMf1H3fGdnZ0ZGMibKDuet8mhUrF+/PrS0tIR169aFl19+OXz2s58NkydPzlSWlHgXd911V+ju7g579uwJP/7xj8PChQvDtGnTwv79+0MIp8pKZ8+eHTZv3hxeeOGF0NnZGTo7O9P5SVnpokWLQm9vb9iwYUM455xzxlQp+ZEjR8KOHTvCjh07AgCEBx98MOzYsSP88pe/DCGcKiWfPHly+Na3vhVeeumlcN1117Gl5B/84AfDc889F370ox+F97///ZmS50OHDoXp06eHT37yk2Hnzp1h/fr1YeLEiaO25DkE/bweOXIk/M3f/E3o6ekJe/bsCf/93/8dLr/88vD+978/vPPOO6mM8rxmcfvtt4e2trbQ3d2dKcH/3e9+l44p4p5PSsnvvvvu8Morr4SHH364LCUPIYSHHnoozJ49OzQ3N4ePfOQj4dlnnx1plRoWN910U5gxY0Zobm4O73nPe8JNN90UXn311bT/7bffDn/1V38VpkyZEiZOnBj+7M/+LLzxxhsZGa+//npYunRpmDBhQpg2bVq46667wokTJ4b7UEYMW7ZsCQBQ9bds2bIQwqly8i9+8Yth+vTpoaWlJVxzzTVh9+7dGRkHDhwIt9xySzjrrLNCa2tr+PSnPx2OHDmSGfPiiy+GP/qjPwotLS3hPe95T1izZs1wHeKIQDuvv/vd78KiRYvCOeecE8aPHx/OO++8cNttt1VtQsvzmgV3PgEgPPbYY+mYou75LVu2hD/4gz8Izc3NYe7cuZk1PCh/z6lEiRIlSjQcRlXOqUSJEiVKjA6U5FSiRIkSJRoOJTmVKFGiRImGQ0lOJUqUKFGi4VCSU4kSJUqUaDiU5FSiRIkSJRoOJTmVKFGiRImGQ0lOJUqUKFGi4VCSU4kSJUqUaDiU5FSiRIkSJRoOJTmVKFGiRImGw/8HY9KBHa3wOlgAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# display the image\n", "fig,ax = subplots()\n", "ax.imshow(frame)" ] }, { "cell_type": "code", "execution_count": 9, "id": "fdcb69d3-da9d-4215-919f-a2fc648b845e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Performances of the different algorithms for azimuthal integration of Eiger 4M image on the CPU\n", "Using algorithm histogram : 1.4 s ± 89.1 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "Using algorithm csc : 64.9 ms ± 437 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "Using algorithm csr : 46.3 ms ± 5.72 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", "Performances of the different algorithms for azimuthal integration of Eiger 4M image on the GPU\n", "Using algorithm csr : The slowest run took 39.06 times longer than the fastest. This could mean that an intermediate result is being cached.\n", "37.4 ms ± 76.8 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" ] } ], "source": [ "print(\"Performances of the different algorithms for azimuthal integration of Eiger 4M image on the CPU\")\n", "for algo in (\"histogram\", \"csc\", \"csr\"):\n", " print(f\"Using algorithm {algo:10s}:\", end=\" \")\n", " %timeit ai.integrate1d(img, nbins, method=(\"full\", algo, \"cython\"))\n", "print(\"Performances of the different algorithms for azimuthal integration of Eiger 4M image on the GPU\")\n", "print(f\"Using algorithm {algo:10s}:\", end=\" \")\n", "%timeit ai.integrate1d(img, nbins, method=(\"full\", algo, \"opencl\", target))" ] }, { "cell_type": "markdown", "id": "9bc9ef05-f255-4fa5-b7b7-6e66f750a09d", "metadata": {}, "source": [ "**Note:** The full pixel splitting is time consuming and handicaps the histogram algorithm while both sparse-matrix methods are much faster since they cache this calculation in the sparse matrix.\n", "\n", "On the Power9 computer the CPU is much slower than the GPU !" ] }, { "cell_type": "code", "execution_count": 10, "id": "7ee60d8e-4bcc-458c-bd3d-e48724881142", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "6.22 ms ± 21.9 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n", "\n", "OpenCL kernel profiling statistics in milliseconds for: OCL_CSR_Integrator\n", " Kernel name (count): min median max mean std\n", " copy H->D image ( 811): 1.482 1.539 1.693 1.544 0.033\n", " memset_ng ( 811): 0.020 0.021 0.039 0.022 0.002\n", " corrections4 ( 811): 0.244 0.246 0.260 0.246 0.001\n", " csr_integrate4 ( 811): 0.525 0.529 0.533 0.529 0.001\n", " copy D->H avgint ( 811): 0.014 0.020 0.064 0.019 0.004\n", " copy D->H std ( 811): 0.016 0.018 0.029 0.018 0.001\n", " copy D->H sem ( 811): 0.016 0.018 0.080 0.017 0.003\n", " copy D->H merged8 ( 811): 0.018 0.020 0.033 0.020 0.001\n", "________________________________________________________________________________\n", " Total OpenCL execution time : 1958.824ms\n" ] } ], "source": [ "# How is the time spend when integrating on GPU ?\n", "res0 = ai.integrate1d(frame, nbins, method=(\"full\", \"csr\", \"opencl\", target))\n", "engine = ai.engines[res0.method].engine\n", "engine.events = []\n", "engine.set_profiling(True)\n", "omega_crc = engine.on_device[\"solidangle\"]\n", "%timeit engine.integrate_ng(img, solidangle=omega, solidangle_checksum=omega_crc)\n", "print(\"\\n\".join(engine.log_profile(stats=True)))\n", "engine.set_profiling(False)\n", "engine.events = []" ] }, { "cell_type": "markdown", "id": "23f8dfd8-f55c-4148-b783-f238081ba0af", "metadata": {}, "source": [ "**Note:** Most of the time is spent in the transfer from the CPU to the GPU." ] }, { "cell_type": "code", "execution_count": 11, "id": "4716f9cb-de3d-44cf-979e-12b442cceb8b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%timeit -r1 -n1 -o -q\n", "#Saving of a HDF5 file with many frames ...\n", "with h5py.File(filename, \"w\") as h:\n", " ds = h.create_dataset(\"data\", shape=(nbframes,)+shape, chunks=(1,)+shape, dtype=dtype, **cmp) \n", " for i in range(nbframes):\n", " ds[i] = frame + i%500 #Each frame has a different value to prevent caching effects" ] }, { "cell_type": "code", "execution_count": 12, "id": "918ce131-3486-4263-8584-c78c8c2b88d8", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "File size 9.240 GB with a compression ratio of 7.408x\n", "Write speed: 847.387 MB/s of uncompressed data, or 47.227 fps.\n" ] } ], "source": [ "timing_write = _\n", "size=os.stat(filename).st_size\n", "print(f\"File size {size/(1024**3):.3f} GB with a compression ratio of {nbframes*numpy.prod(shape)*dtype.itemsize/size:.3f}x\")\n", "print(f\"Write speed: {nbframes*numpy.prod(shape)*dtype.itemsize/(1e6*timing_write.best):.3f} MB/s of uncompressed data, or {nbframes/timing_write.best:.3f} fps.\")" ] }, { "cell_type": "code", "execution_count": 13, "id": "e559f3a9-4890-47ef-959d-6f0b099963c9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%timeit -r1 -n1 -o -q\n", "#Reading all frames and decompressing them\n", "buffer = numpy.zeros(shape, dtype=dtype)\n", "with h5py.File(filename, \"r\") as h:\n", " ds = h[\"data\"]\n", " for i in range(nbframes):\n", " ds.read_direct(buffer, numpy.s_[i,:,:], numpy.s_[:,:])" ] }, { "cell_type": "code", "execution_count": 14, "id": "3f6a4b10-8fe5-4450-8272-4a98b7a22de4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Read speed: 920.013 MB/s of uncompressed data, or 51.275 fps.\n" ] } ], "source": [ "timing_read1 = _\n", "print(f\"Read speed: {nbframes*numpy.prod(shape)*dtype.itemsize/(1e6*timing_read1.best):.3f} MB/s of uncompressed data, or {nbframes/timing_read1.best:.3f} fps.\")" ] }, { "cell_type": "code", "execution_count": 15, "id": "557956b5-5eec-44ea-8f13-0d76c6d88200", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Compression ratio: 9.099x\n", "10.5 ms ± 4.36 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)\n", "Decompression speed: 127.868 fps\n" ] } ], "source": [ "# Time for decompressing one frame:\n", "chunk = bitshuffle.compress_lz4(frame,0)\n", "print(f\"Compression ratio: {frame.nbytes/len(chunk):.3f}x\")\n", "timing_decompress = %timeit -o bitshuffle.decompress_lz4(chunk, frame.shape, frame.dtype, 0)\n", "print(f\"Decompression speed: {1/timing_decompress.best:.3f} fps\")" ] }, { "cell_type": "code", "execution_count": 16, "id": "9727f861-eeec-4ec6-8c8c-57e99618474a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%timeit -r1 -n1 -o -q\n", "#Reading all frames without decompressing them\n", "with h5py.File(filename, \"r\") as h:\n", " ds = h[\"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)" ] }, { "cell_type": "code", "execution_count": 17, "id": "a8f957e5-f3cc-41a4-9502-dc98f5e31dd7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Read speed: 5550.975 MB/s of compressed data.\n", "HDF5 read speed (without decompression): 2291.770 fps.\n" ] } ], "source": [ "timing_read2 = _\n", "print(f\"Read speed: {size/(1e6*timing_read2.best):.3f} MB/s of compressed data.\")\n", "print(f\"HDF5 read speed (without decompression): {nbframes/timing_read2.best:.3f} fps.\")" ] }, { "cell_type": "markdown", "id": "03d4e618-db18-4ebd-9a70-9c1559f7acf2", "metadata": {}, "source": [ "## Prepare the azimuthal integrator\n", "To unleash the full performances of the azimuthal integrator, here the ability to deal with GPU arrays, one needs to extract the OpenCL integrator from AzimuthalIntegator. The integrator used here is a sparse matrix multiplication one with a CSR representation, tuned to run on the GPU." ] }, { "cell_type": "code", "execution_count": 18, "id": "a4f8923c-88ac-435e-8428-0fbbf7bf066f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1.22 ms ± 67.9 ns per loop (mean ± std. dev. of 3 runs, 1,000 loops each)\n", "The maximum achievable integration speed on this device is 819.520 fps.\n" ] } ], "source": [ "res0 = ai.integrate1d(frame, nbins, method=(\"full\", \"csr\", \"opencl\", target))\n", "engine = ai.engines[res0.method].engine\n", "#This is how the engine works. First send the image on the GPU:\n", "\n", "frame_d = cla.to_device(engine.queue, frame)\n", "omega_crc = engine.on_device[\"solidangle\"]\n", "\n", "res1 = engine.integrate_ng(frame_d, solidangle=omega, solidangle_checksum=omega_crc)\n", "assert numpy.allclose(res0.intensity, res1.intensity) # validates the equivalence of both approaches:\n", "timing_integration = %timeit -r3 -o engine.integrate_ng(frame_d, solidangle=omega, solidangle_checksum=omega_crc)\n", "print(f\"The maximum achievable integration speed on this device is {1/timing_integration.best:.3f} fps.\")" ] }, { "cell_type": "code", "execution_count": 19, "id": "7d75885a-0313-47fb-95e3-667448cdd658", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "The maximum throughput considering reading, decompression and integration is 105.517 fps.\n" ] } ], "source": [ "timimg_sum = timing_integration.best + timing_read2.best/nbframes+timing_decompress.best\n", "print(f\"The maximum throughput considering reading, decompression and integration is {1/timimg_sum:.3f} fps.\")" ] }, { "cell_type": "markdown", "id": "296b9c59-a957-4e75-ac29-808fc4c4a952", "metadata": {}, "source": [ "**Summary:**\n", "* Read speed: 2400 fps\n", "* Read + decompress: 110 fps\n", "* Read + decomperss + integrate: 95 fps.\n", "\n", "## Using the decompression on the GPU\n", "\n", "This feature requires silx 1.2 !" ] }, { "cell_type": "code", "execution_count": 20, "id": "1613555d-8006-450c-90c2-be4cbd820ad7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'1.2.0-a0'" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "silx.version" ] }, { "cell_type": "code", "execution_count": 21, "id": "5f9f2220-0931-497f-b5df-993341202c0e", "metadata": {}, "outputs": [], "source": [ "# Read one chunk\n", "with h5py.File(filename, \"r\") as h:\n", " ds = h[\"data\"]\n", " i=0\n", " filter_mask, chunk = ds.id.read_direct_chunk(ds.id.get_chunk_info(i).chunk_offset)" ] }, { "cell_type": "code", "execution_count": 22, "id": "c1fea01a-beaa-4727-9147-59cef1d4dd0b", "metadata": {}, "outputs": [], "source": [ "gpu_decompressor = BitshuffleLz4(len(chunk), frame.size, dtype=frame.dtype, ctx=engine.ctx)" ] }, { "cell_type": "code", "execution_count": 23, "id": "06356a14-9ba5-4d72-b0c4-652626c46de5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Workgroup size 1 : 8.28 ms ± 365 ns per loop (mean ± std. dev. of 7 runs, 100 loops each)\n", "Workgroup size 2 : 5.51 ms ± 186 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n", "Workgroup size 4 : 2.98 ms ± 221 ns per loop (mean ± std. dev. of 7 runs, 100 loops each)\n", "Workgroup size 8 : 1.75 ms ± 238 ns per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n", "Workgroup size 16 : 1.14 ms ± 152 ns per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n", "Workgroup size 32 : 838 µs ± 33.8 ns per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n", "Workgroup size 64 : 724 µs ± 9.94 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n", "Workgroup size 128 : 655 µs ± 79.9 ns per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n", "Workgroup size 256 : 664 µs ± 320 ns per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n", "Workgroup size 512 : 733 µs ± 42.6 ns per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n", "Workgroup size 1024 : 883 µs ± 46.3 ns per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n" ] } ], "source": [ "#Tune the decompressor for the fastest speed:\n", "for i in range(0, 11):\n", " j = 1<" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%timeit -r1 -n1 -o -q\n", "# Process a complete stack:\n", "with h5py.File(filename, \"r\") as h:\n", " ds = h[\"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", " result[i] = engine.integrate_ng(gpu_decompressor(chunk), solidangle=omega, solidangle_checksum=omega_crc).intensity" ] }, { "cell_type": "code", "execution_count": 30, "id": "e4033694-9cd1-4aae-b388-cadbf478363a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Processing speed when decompression occures on GPU: 428.141 fps which represents at speed-up of 4.058x.\n" ] } ], "source": [ "timing_process_gpu = _\n", "print(f\"Processing speed when decompression occures on GPU: {nbframes/timing_process_gpu.best:.3f} fps which represents at speed-up of {timimg_sum*nbframes/timing_process_gpu.best:.3f}x.\")" ] }, { "cell_type": "markdown", "id": "89f85542-5088-4469-abb2-06cde677fdda", "metadata": {}, "source": [ "## Display some results\n", "Since the input data were all synthetic and similar, no great science is expected from this... but one can ensure each frame differs slightly from the neighbors with a pattern of 500 frames. " ] }, { "cell_type": "code", "execution_count": 31, "id": "8650407f-a6ce-40ac-875e-f4f0f0c07a0d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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k5/8JJ566imsrKy4+XfffTf+8A//ENu3b8drXvMavOtd73LudeTIEZx//vkOLADYvXs3rr/+ejz00EN4yUtegiNHjmDXrl3BsXbv3o0bb7xxrPPsk8QSAQPjWPqlXWxgChe6uOFVC2HatiBMjiaQgSFIBW4GAIo8p/Jdi8Jq4ULs/9ECuQHFjab5WUoeVrfP6tyqeY+LuHOl51wpzmXXUdNsRP7GN76BlZUVPP300zj11FPxqU99Cjt37gQAvOENb8Bzn/tcnHXWWfj617+O/fv34+GHH8af/MmfAACOHj0agAXAvT969GjlOqurq/jRj36Ek046qfS81tbWsLa25t6vrq4CAH7my9dAnHQSWEE/cEERoMiMAJpPk53nXvrxQva9nQ7WQ6E2weXTpddFSrwwK3ehtNkGN+a+GrWxt7yu/zWop58G8M6kXTeG6/nPfz4eeOABHD9+HH/8x3+Mq6++Gl/84hexc+dOvO1tb3PrnX/++TjzzDNx6aWX4jvf+Q6e97znNT1UI9122204cODAyPxz71RYoCGglH7usVJAxuav0iPFKAWy08z63nyl9ItZD5emGJpQb9q7hz+IrpWyM0fnFVQZlasJ6OLxwr/NJJ7k/2dMDXmA/524bmO4FhcXcd555wEALrroInzta1/Dhz/8Yfz+7//+yLoXX3wxAODb3/42nve852H79u346le/Gqxz7NgxAMD27dvdXzvPX2d5eTnqWgBwyy23YN++fe796uoqduzYAZYCSghQBvNsZD3iLnsPGEdG+vGtzBoyYj3ggxJmvHgDG4tR0ABAcf4DyAqQws13s8sgUhWdopgbPWjN7i/X+uRw66HYDxBtwM1wxAys1a8HtNDOpZQKwjFfDzzwAADgzDPPBACsrKzgfe97Hx5//HFs3boVAHDo0CEsLy+70HJlZQWf+cxngv0cOnQoyOvK1O/30e/3R+Zzz4BDwjiSifH084Q0POZBeMhUDpliPS64c7MIaEBhFBrPtfLbkkch8iEsquEvsjsPOcu3XnqKuHhMG9YzTIx+P8SYDly33HILXvnKV+Kcc87BD37wA9xzzz04fPgwPve5z+E73/kO7rnnHrzqVa/CGWecga9//eu46aab8LKXvQwXXHABAOCyyy7Dzp07ceWVV+L222/H0aNHceutt2Lv3r0OjOuuuw533HEHbr75Zlxz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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig,ax = subplots(figsize=(8,8))\n", "ax.imshow(result)" ] }, { "cell_type": "markdown", "id": "5013c60f-f973-405a-8f6f-9b8dd448a3d6", "metadata": {}, "source": [ "## Conclusion\n", "\n", "Bitshuffle-LZ4 data decompression can be off-loaded to the GPU, this is especially appealing when downstream processing requires also GPU-computing like azimuthal integration.\n", "\n", "The procedure is simpler than multi-threading approach: no queue, no threads, ... but requires a GPU (properly setup).\n", "\n", "The performances measured on a (not so recent) Tesla V100 are similar to a much more recent RTX3080 which are the same as a 2x32-cores computer in multithreading: ~500 fps\n", "\n", "Those performances can be further parallelized using multiprocessing if needed." ] }, { "cell_type": "code", "execution_count": 32, "id": "cc6f2236-c77e-4add-adf6-4d0929bb5b46", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total processing time: 398.101 s\n" ] } ], "source": [ "print(f\"Total processing time: {time.time()-start_time:.3f} s\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.9.5" } }, "nbformat": 4, "nbformat_minor": 5 }