{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# # autoreload\n", "# %load_ext autoreload\n", "# %autoreload 2" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Copyright (c) 2024 Graphcore Ltd. All rights reserved.\n", "from matplotlib import pyplot as plt\n", "import numpy as np\n", "from gfloat import *\n", "from gfloat.formats import format_info_ocp_e5m2\n", "\n", "# Abbreviate RoundMode printing just for this notebook, for figure legends\n", "if \"RoundMode__str__\" not in locals():\n", " RoundMode__str__ = RoundMode.__str__\n", " RoundMode.__str__ = lambda self: RoundMode__str__(self).replace(\n", " \"RoundMode.Stochastic\", \"SR\"\n", " )\n", "\n", " assert str(RoundMode.StochasticFast) == \"SRFast\"\n", "\n", "\n", "def longstr(rnd):\n", " if rnd == RoundMode.StochasticFastest:\n", " return r\"SRFastest: $\\lfloor \\Delta \\times 2^{nbits} \\rfloor + SRBits \\geq 2^{nbits}$\"\n", "\n", " if rnd == RoundMode.StochasticFast:\n", " return r\"SRFast: $\\lfloor \\Delta \\times 2^{nbits+1} \\rfloor + (2 \\times SRBits + 1) \\geq 2^{nbits+1}$\"\n", "\n", " if rnd == RoundMode.Stochastic:\n", " return r\"SR: $RNITE(\\Delta \\times 2^{nbits}) + SRBits \\geq 2^{nbits} $\"\n", "\n", " if rnd == RoundMode.StochasticOdd:\n", " return r\"SR: $RNITO(\\Delta \\times 2^{nbits}) + SRBits \\geq 2^{nbits} $\"\n", "\n", " raise ValueError(f\"Unknown rounding mode {rnd}\")\n", "\n", "\n", "mode_colors = {\n", " RoundMode.TiesToEven: (\"pink\", \"red\"),\n", " RoundMode.StochasticFastest: (\"#faf\", \"purple\"),\n", " RoundMode.StochasticFast: (\"lightblue\", \"blue\"),\n", " RoundMode.Stochastic: (\"#ada\", \"green\"),\n", " RoundMode.StochasticOdd: (\"bisque\", \"orange\"),\n", "}\n", "\n", "\n", "def lollipops(ax, xs, ys, key, label):\n", " colors = mode_colors[key]\n", " ax.plot(\n", " [xs, xs],\n", " [xs, ys],\n", " label=None,\n", " color=colors[0],\n", " markeredgecolor=\"k\",\n", " markersize=2,\n", " linestyle=\"-\",\n", " )\n", " ax.plot(xs, ys, label=label, color=colors[1], marker=\".\", markersize=3, linestyle=\"\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Stochastic rounding\n", "\n", "This notebook does some simple experiments with stochastic rounding.\n", "\n", "Let's see examples of stochastic rounding and the default round-to-nearest for \n", "some input values in an 8-bit float range. " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABIQAAAJaCAYAAABeNpxTAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAjlBJREFUeJzt3Qd4FFXbxvE7jUDoKL333lEErKgvKl0FxAIoWBBfQazYEFFRURHLByiCqCAKCkhTsYAiNqRIUXrVUKQlEAgp811neHdNwiZsQpLZ2f3/rmvZnTOzs2fOZJezzz7nTJhlWZYAAAAAAAAQMsKdrgAAAAAAAADyFwEhAAAAAACAEENACAAAAAAAIMQQEAIAAAAAAAgxBIQAAAAAAABCDAEhAAAAAACAEENACAAAAAAAIMQQEAIAAAAAAAgxkQoxqamp+vvvv1W0aFGFhYU5XR0AAJAJy7IUHx+vChUqKDyc37CcRP8JAIDg6z+FXEDIBIMqV67sdDUAAICfdu3apUqVKtFeDqL/BABA8PWfQi4gZDKDPI1TrFgxp6sDAAAyERcXZ/+I4/m/G86h/wQAQO5ITk3W3B1z7cedq3ZWZHikY/2nkAsIeYaJmWAQASEAAAIfQ7ydR/8JAIDcCwjFFI2xH5uYRG4HhLLTf2JAPgAAAAAAQIghIAQAAAAAABBiCAgBAAAAAACEmJCbQwgAQvXyk8nJyUpJSXG6KkA6ERERioyMZJ6gIMDnTGjgPQsAwYOAEAAEuZMnTyo2NlYJCQlOVwXwKSYmRuXLl1eBAgVoIZficya08J4FgOBAQAgAglhqaqq2bdtm/6JboUIF+ws3V2xCIGWUmEDC/v377b/T2rVrKzyc0exuw+dM6OA9CwDBhYAQAAQx82XbfFmrXLmy/YsuEGgKFSqkqKgo7dixw/57LViwoNNVQjbxORNaeM8CQPDgZzgACAFkXSCQ8fcZHDiPoYNzDQDBgYAQAAAAAABAiCEgBAAAAAAAEGIICAEAkMfMRN6zZ8+mnQHwGQMACBgEhAAAARlAyer21FNPOV1FAC7GZwwAAFxlDAAQgGJjY72PP/roIz355JPasGGDt6xIkSLpLoOckpKiyEgunAmAzxgAAPxFhhAAhBgTQDl27JgjN/Pa/ihXrpz3Vrx4cfvXfM/yn3/+qaJFi2rhwoVq2bKloqOjtXTpUvXr10/dunVLt58hQ4bo0ksv9S6npqZq1KhRql69un3p5KZNm2rmzJmZ1uPRRx9V69atTys3z3v66aftx7/++quuvPJKnXvuuXZdL7nkEq1YsSLTfS5evNg+nsOHD3vLVq1aZZdt377dW2aO6aKLLrLrWblyZd177712GwJu4NTnDJ8xfMYAAPzHz6kAEGISEhLSZdjkp6NHj6pw4cK5sq9HHnlEL730kmrUqKGSJUv69RwTDPrggw80fvx41a5dW999951uvvlmlS5d2g7kZHTTTTfZz9myZYtq1qxpl61bt06///67PvnkE3s5Pj5effv21euvv25/GX355Zd1zTXXaNOmTXbgKifM61111VV65plnNGnSJO3fv1/33HOPfZs8eXKO9gmEwucMnzH+4TMGAGAQEAIAuJLJ0DGZOf5KTEzUc889p6+++kpt2rSxy0wwyWTiTJgwwWdAqGHDhnY20LRp0/TEE0/YZVOnTrWzhmrVqmUvt2/fPt1z3nrrLZUoUUJLlixRp06dcnRsJghlglEmw8kwwavXXnvNruO4ceNUsGDBHO0XgP/4jAEABDsCQgAQYmJiYuxf0Z167dzSqlWrbG2/efNmO2shYxDp5MmTat68eabPM4EZk6VjAkImA+jDDz/U0KFDvev37t2rxx9/3B4Ktm/fPns+I/M6O3fuVE6tXr3azkIywScP89pmyNu2bdtUv379HO8bCObPGT5j/MNnDADAICAEACHGzFWTW8O2nJTxGMLDw0+bPyQpKcn72PPldP78+apYsWK67cw8RJnp3bu3Hn74YXteoOPHj2vXrl3q1auXd70ZLnbgwAGNHTtWVatWtfdlMpBMoMkXU08jbV3T1tNT1zvvvNOeNyijKlWqZFpXIFAEw+cMnzEAgGBHQAgAEBTMPEBr165NV2Yma46KirIfN2jQwA7WmMwdX8PDMlOpUiV7e5OtYwJCJsOoTJky3vU//PCD/u///s+eN8gwAaN//vkny3p6rqTmmfvI1DOtFi1aaP369d5haQCcx2cMACDYcJUxAEBQMHP5LF++XO+99549ofPw4cPTBYjMBM8PPPCA7rvvPk2ZMsWeVNVk/ZjJoM1yVsywsenTp2vGjBn247TM/D7vv/++/vjjD/3888/2enNlsMyYII+5athTTz1l19NkLJmJqNMyGUnLli2zJ5E2wSKz3Zw5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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fi = format_info_ocp_e5m2 # A common P3 format\n", "\n", "vs = np.arange(2.9, 7.1, step=1 / 64)\n", "\n", "# Round to nearest\n", "rn = round_ndarray(fi, vs)\n", "\n", "# Stochastic rounding\n", "np.random.seed(1)\n", "srnumbits = 16\n", "srbits = np.random.randint(0, 2**srnumbits, len(vs))\n", "rvs = round_ndarray(\n", " fi, vs, RoundMode.Stochastic, sat=False, srbits=srbits, srnumbits=srnumbits\n", ")\n", "\n", "# Plot\n", "fig, axs = plt.subplots(1, 2, figsize=(14, 7))\n", "for ax in axs:\n", " ax.plot(vs, vs, label=\"True value\", color=\"k\")\n", "\n", " if ax == axs[0]:\n", " lollipops(ax, vs, rn, key=RoundMode.TiesToEven, label=\"Round to nearest\")\n", " else:\n", " lollipops(ax, vs, rvs, key=RoundMode.Stochastic, label=f\"SR, {srnumbits} bits\")\n", "\n", " ax.set_xlabel(\"Input float value\")\n", " ax.set_ylabel(f\"Rounded values\")\n", " ax.set_yticks(np.unique(rvs))\n", " ax.set_xlim(2.75, 7.25)\n", " ax.set_ylim(2.4, 7.6)\n", " ax.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The black $Y=X$ curve plots the input real value, the red curve shows that value \n", "rounded to the nearest representable value in the chosen float format, \n", "and the grey curve shows stochastic rounding, again to a nearest representable value,\n", "but randomly up or down depending how close the input value is to the next highest \n", "and lowest representable values.\n", "\n", "In order to get a better idea of the behaviour, we will change the plot to show the \n", "average rounded value at each input real value. At 16 bits of randomness, \n", "this almost appears too good to be true:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 1, figsize=(5, 5))\n", "\n", "ax.plot(vs, vs, label=\"True value\", color=\"k\", marker=\"None\", linestyle=\"-\")\n", "\n", "# Compute mean absolute error\n", "err_rn = np.abs(rn - vs).mean()\n", "ax.plot(\n", " vs,\n", " rn,\n", " label=f\"Round to nearest, err={err_rn:.2f}\",\n", " color=\"red\",\n", " markersize=3,\n", " linestyle=\"\",\n", " marker=\".\",\n", ")\n", "\n", "# Stochastic rounding, multiple samples\n", "srnumbits = 16\n", "nsamples = 500\n", "srbits = np.random.randint(0, 2**srnumbits, (nsamples, len(vs)))\n", "\n", "rvs = round_ndarray(\n", " fi,\n", " vs[np.newaxis, :],\n", " RoundMode.Stochastic,\n", " sat=False,\n", " srbits=srbits,\n", " srnumbits=srnumbits,\n", ")\n", "\n", "rvmean = rvs.mean(axis=0)\n", "err = np.abs(rvmean - vs).mean()\n", "lollipops(\n", " ax,\n", " vs,\n", " rvmean,\n", " key=RoundMode.Stochastic,\n", " label=f\"SR, {srnumbits} bits, err={err:.2f}\",\n", ")\n", "\n", "ax.set_xlabel(\"Input float value\")\n", "ax.set_ylabel(f\"Average of rounded values, {nsamples} samples\")\n", "ax.set_yticks(np.unique(rn))\n", "ax.legend()\n", "None" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The green line is pretty much on top of the true value (some small random \n", "deviations are evident), indicating that with 500 samples, \n", "the stochastically rounded value is on average very accurate.\n", "\n", "Before we go further, let's zoom in a bit:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAvMAAAHACAYAAAAvA+dJAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAmdVJREFUeJzt3Ql4THf3B/CTTQgJiUiCWEMtUdRaFN0tVfRttdWiihavlmqr2r5VWkpLW91FaXTfW0urKFqKEHusVRJbQmyJrJYs83++J/97OzMSMmSb5Pt5nulk7tyZuZlBzz1zfue4WCwWixARERERkdNxLe4DICIiIiKiq8NgnoiIiIjISTGYJyIiIiJyUgzmiYiIiIicFIN5IiIiIiInxWCeiIiIiMhJMZgnIiIiInJSDOaJiIiIiJyUuzix7OxsOXbsmHh7e4uLi0txHw4RERERUYHAXNeUlBSpUaOGuLq6ls5gHoF8rVq1ivswiIiIiIgKxdGjRyU4OLh0BvPIyBu/pI+PT3EfDhERERFRgUhOTtaktRHvlspg3iitQSDPYJ6IiIiISpsrlZJzASwRERERkZNiME9ERERE5KQYzBMREREROSmnrpnPb1ufzMxMycrKKu5DIaJ8cHNzE3d3d7abJSIiKuvB/MWLF+X48eOSnp5e3IdCRA7w8vKS6tWrS7ly5fi+ERERlcVgHgOlDh48qFk+NNtHUMDBUkQl/5s0nISfOnVK//42bNjwsoMyiIiIyrpSG8wjIEBAj/6cyPIRkXOoUKGCeHh4yOHDh/Xvcfny5Yv7kIiIiEqsUp/yYlaPyPnw7y0REVH+lPpgnoiIiIiotGIwT0RERETkpBjMU6HCouMFCxbwXSYiIiIqBAzmS2Dwe7nLpEmTivsQiYiIiKiEKLXdbJwV+uIbvvvuO3n55Zdl37595rZKlSrZtPHDMCwM2CEiIiKigoEYK+Viiuw6uUtaBLaQiuUqSknlWtY+mLS0tCK/4HXzKygoyLxUrlxZs/HG7b///lu8vb1lyZIl0rp1a/H09JS1a9fK4MGDpW/fvjbP89RTT8nNN99s3kabzmnTpkm9evW09V+LFi3kxx9/zPM4XnzxRWnfvv0l2/G4V199VX/etGmT3HHHHeLv76/H2rVrV9m6dWuez7lq1Sr9fc6ePWtu2759u247dOiQuQ2/U+fOnfU40Vp09OjR+j4SERERXQuLxSLJF5Il4miEpF1My/P+FTErpNGHjaRTeCdpObulpGeU3AGkZSqli0mw1pntopKamioVKxbcGd3zzz8vb775ptSvX198fX3z9RgE8l9++aWEhYXpIJ6//vpLBgwYINWqVdMg3N7DDz+sj4mOjpaQkBDdtnv3btmxY4f89NNPejslJUUeeeQRef/99/UP/1tvvSU9e/aU/fv360nH1cDrde/eXaZMmSLh4eE6POiJJ57Qy7x5867qOYmIiIgA2fbGHzaW4ynHpYFfA4kaESVeHjnziBDLxKXEafB+Jv2MGA4kHNAMfbua7aQkKlPBfGmBzDgy4vl14cIFmTp1qqxYsUI6dOig23AigAz47Nmzcw3mQ0NDNQv/9ddfy4QJE3TbV199pdn6Bg0a6O1bb73V5jEff/yxVKlSRVavXi29evW6qt8NJxA4kcA3C4ATj/fee0+PcdasWRwgRERERFdt18ldGsjbB+lGIB/6Uahm5q3V9a4rzQKaldh3vUwF85gEiyx5cbxuQWrTpo1D+x84cEC/lbA/AcB0zRtuuCHPxyGoRnYcwTz+kH/zzTfy9NNPm/efOHFCXnrpJS2fOXnypNbv43WOHDkiVysqKkqz/zhxMOC1USZ08OBBadKkyVU/NxEREZVtzQKaSXXv6mZmPrRaqP78/e7v5ZW/XrEJ5P0q+MnozqPlv6H/NbP3JVGZCuZRm12Q5S7Fxf53wLRM+7r8jIwM82fjBGbx4sVSs2ZNm/1Qd5+X/v37y/jx47UO/ty5c3L06FF54IEHzPtRYnPmzBl59913pU6dOvpcyPzjJOFyUz2tj9X6OI1jHT58uNbJ26tdu3aex0pERESU1yLW5gHNJVuyJSo+SiZ3nyyxSbHSMaCjxCXHSdOPmkqWJcvmsT6ePjK913R5+LqHxdMt71ipJChTwXxphbr3Xbt22WzDwlIPDw/9uWnTphpoI2OeW0lNXoKDg3V/ZMkRzCOzHxAQYN6/bt06+eijj7ROHhDsnz59+rLHaXTsMWr9cZzWWrVqJXv27DFLeYiIiIiupvNMilV9fP0q9SU9K13iU+IlqFKQiIvIpJRJGrTbB/JBFYNkSs8p4lPeR9xd3TUZXJIxmC8FULs+Y8YM+fzzzzUzjoWuCO6NEhosRn322Wdl7NixWq5y0003SVJSkgbjPj4+mmG/XKnNxIkTNds+c+ZMm/tQz/7FF19o2U9ycrKMGzdOO9DkBQE6utOgV/5rr70m//zzjy6atYZvAm688UZd8Dps2DD9FgLB/fLly+WDDz645veKiIiIysai1l1W9fExZ2PM/eNT482f7evj4av/fCVn5N8FsCVdmWpNWVp169ZN69qfe+45adu2rXaZGTRokM0+kydP1n2wwBR15+gYg7IbtKq8nPvuu09LaVALb9/+8pNPPpHExETNpg8cOFBLY6wz9/bwTQHq7tFis3nz5vLGG29o1xpr2I4FtAj00Z4SJyTotV+jRo2rem+IiIiobC1q3XlipwbpaD0Z5B2k2+tVqWf+jMy88bO9hn4NpU3NNnIh84IcOH2gRLekNLhYHGmCXsIgG4z+5sgyI8Ns7fz587pgEsFq+fLli+0Yichx/PtLRET5lXwh2SYz/9tDv0mH8A7aXhKB+5D2Q8x9y7mVk5CqOS23o89ES9j6MC29CfENkfA+4dKmRhvJzM7Ms31lSYlzrbHMhoiIiIiclpeHly5WPXr2qPSt11fazGljls+gpCYsIkwSziXo7cBKgTKy40gZcf0IvT2iwwjpEtRF2ge3NwN2DJTKrX1lScVgnoiIiIicmqe7p9SqUks6f9rZpg4eC1yNQB5OpJ6QSb9Pks83fm4uiDWy7wYsosU2BPIouynJPeaBwTwREREROb3oM9E2k1vBzcVNfMVXEiXRZrv1glj77Du64SC4xzYE8iW5xzxwASwRERERlWjoxhebHCuzN8+Wk6kndRuWfSZfSJY/D/4p249tl1kRsy55XOL5RKngXUGWDVgmSx9eqrXxgGvj59yy7wjgEdyX9EAemJknIiIiohLtWOoxqftOXe0J/8RvT8g3934jbq5uMvK3kVo6Y8/P008SLuSU1xxLOSZVylfR4HzHyB1mxh2cJft+OQzmiYiIiKhEW/zPYnO4U6YlU/r92C/PfRv4NZDlA5Zr/Tyy+daZdyPjbijJC1vzi8E8EREREZXo6a7oQoP6d/tprdbQS35en3nStmZbDdr3PbGvVGTer4TBPBERERGVKGY9/KE/ZegvQyUhPUECKwZKjyY9ZPHexXIq7ZS5b1ClIPm0z6fSuU5nm6DdPgtfWnEBLDns5ptvlqeeeorvHBERERUKZOMxuOme7+7RQB5OpJ2Qun51ZVSnUTIgYIC5b3xqvPhW8C3V2ffLYTBfAg0ePFhcXFz04uHhoVNsn3vuOZ2K6QwmTZokLVu2lLLs0KFD+vlt375dnM2qVaukVatW4unpKQ0aNJBPP/30ivv36dNHqlevLhUrVtTP/quvvrLZZ86cOdK5c2fx9fXVy+233y4bN24s5N+EiIicLROPgU2pF1IlKj5Kg3Rr3uW85aOIj7RPfERGxGW70ZQlDOZLqO7du8vx48clJiZGZs6cKbNnz5aJEycW92GVmX9QMjMzxVlkZWVpyy57Fy9edPi5Dh48KHfddZfccssteiKCb2CGDRsmy5Yty/MxERER0rx5c/npp59kx44d8uijj8qgQYPk119/tQn4+/fvL3/++aesX79eatWqJXfeeafExcU5fIxERFR6M/GdwjtJ0/ebyj9p/2j5jMHVxVX3MdpSxiTGSHifcIkcFinbR2wvs1l5YDBfQiErGhQUpEFP3759NZO5fPly8/4LFy7I6NGjJSAgQMqXLy833XSTbNq0ybwf2dQqVarYPOeCBQs0W2yfQf/iiy+kbt26UrlyZXnwwQclJSXF3CctLU0Ds0qVKmnm9a233rrsceN1X3nlFYmKijK/XTAyu0eOHNEMLp7Lx8dH7r//fjlx4tJ2UvbZ7Z9//lmDSy8vL2nRooUGg9bWrl2rWd8KFSro+4X3BcdtwO/Xpk0b8fb21vf0oYcekpMnc/4xMAJNvM6SJUukdevW+t7jOREgT5s2Tb8ZwXPjtX/88UfzcYmJifLwww9LtWrV9P6GDRvKvHnz9D48Bm644QZ9bpQm5Rc+22effVZq1qypme727dvrMdp/tosWLZKmTZvq8eK9xWc4efJk/bzw/j7++OPiqLCwMD12fM5NmjSRJ554Qu677z49oczLiy++qK/bsWNHCQkJkTFjxujJKD43AzL1//3vf/XPW+PGjWXu3Ln6/q5cudLhYyQiotKXREMm/njKcb19NO2oxCTEyIiOI+TF216UVzu9KtkW26QVsvFtarRxml7whYnBfH6lp4ugLADXRWzXrl2a/SxXrpy5DWU3yIR+9tlnsnXrVi2H6NatmyQk/DuyOD+io6M1yEcWFZfVq1fL66+/bt4/btw43bZw4UL5/fffNajE6+XlgQcekGeeeUZCQ0P1mwVcsA2BGwJ5HB+eDycm+NYB913J//73Pw1ukSm+7rrrNMNrZM5x/Agc7733Xs0Kf/fddxqIIwg1ZGRkaLCJEwz8rjhJQCmTveeff15/971792qmGYH8559/rgHu7t27ZezYsTJgwAA9fpgwYYLs2bNHTwLwmFmzZom/v7/eZ5SQrFixQt8D68D2SnDsOGH59ttv9Xfq16+f/o779+8390lPT5c33nhDg2IcG07q4M0339STjm3btunxAT4LnEDldenRo4f5vHhdnDhaw58r+xOoK0lKShI/P78878fx43O53D5ERFT6gvak80myPHq5/BHzh5bTZGZnyv7Y/fLHsT+0Y43h9T9e13Ka77d+L8NvHK7tJgGlNasHry7z2XgbFieWlJRkwa+Aa3vnzp2z7NmzR6+vWVqaxdKwocWCtwvXuF2IHnnkEYubm5ulYsWKFk9PT/0dXV1dLT/++KPen5qaavHw8LB89dVX5mMuXrxoqVGjhmX69Ol6e968eZbKlSvbPO/8+fP1uQwTJ060eHl5WZKTk81t48aNs7Rv315/TklJsZQrV87y/fffm/efOXPGUqFCBcuYMWPyPH48b4sWLWy2/f777/o7HTlyxNy2e/duPZ6NGzfm+jwHDx7U++fOnXvJY/bu3au3hw4dann88cdtHrdmzRp9v/L67Ddt2qTPgd8P/vzzT729YMECc5/z58/rexMREWHzWLxe//799ee7777b8uijj1722Ldt22ZxxOHDh/V9iouLs9l+2223WV544QXzs8Vzb9++3WafOnXqWPr27XvJcx46dMiyf//+PC+xsbHmvg0bNrRMnTrV5vGLFy/W10tPT8/X7/Ddd9/pn5tdu3bluc/IkSMt9evXz/MzKtC/v0REVCIknU+yBL0ZZJFJope6M+ta5u6ea6n+VnW97TPNx7zP+hIZG2lJu5hmXpcVSZeJc62xNWV+7NolYmRFcY3b7Qq31RHKSpDpRbkIShzc3d01+2xko5HV7NSpk7k/Fsq2a9dOM8SOQGkGyk8MKKUxSlDwOqi7RpmHAZnURo0aOfz74LhQAoOLASUiKBfBfW3bts3zsciSWx8f4BhRroFsO7LX1gsuceaPbwJQ/41SkS1btmhJEfZFaYxRX47SFByDAaU4hgMHDmj2+I477rA5FrwfKJ2BkSNH6meCbypQ/41yKJSaXIudO3dqDTy+gbAvvalatap5G9/SWL8vuf0Ohjp16khRQU08auax4BXf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ERERUSFj6oiIiIiIyEkxmCciIiIiclIM5omIiIiInBSDeSIiIiIiJ8VgnoiIiIjISTGYJyIiIiJyUgzmiYiIiIicFIN5IqIy5uOPP9YBSRjEg8EvGC7WsmVLcVY333yzPPXUU8V9GERExYLBPBFRARo8eLD07du3yN/TTz/9VKpUqXLF/ZKTk+WJJ57QqaaYnvn4448XyvE4+wkCEZGzcC/uAyAioqKDcesZGRly1113SfXq1fnWExE5OWbmiYgKuQRk9OjR8txzz4mfn58EBQVp1tqai4uLzJo1S3r06CEVKlSQ+vXry48//mjev2rVKt3n7Nmz5rbt27frtkOHDun9jz76qCQlJek2XOxfw8jeX3/99fozXsN4vL3s7Gx59dVXJTg4WDw9PTXDvnTpUpt9kNm/7rrrxMvLS59rwoQJepJgvM4rr7wiUVFR5vFgm73ff/9dypcvb/N7wZgxY+TWW2/Vn8+cOSP9+/eXmjVr6mvh+L/55pvLvud4vQULFthsw7cW1sdw9OhRuf/++3U7Ppc+ffrk+l4QEZV0DOaJiArZZ599JhUrVpTIyEiZPn26BsrLly+32QfB8L333qsB8MMPPywPPvig7N27N1/P37FjR6199/HxkePHj+vl2WefvWS/Bx54QFasWKE/b9y4UfdD7by9d999V9566y158803ZceOHdKtWzfp3bu37N+/39zH29tbg+M9e/bo/nPmzJGZM2ear/PMM89IaGioeTzYZu+2227TYPqnn34yt2VlZcl3332n7wGcP39eWrduLYsXL5Zdu3ZpWdDAgQP1+K8WTjrwO+F3WLNmjaxbt04qVaok3bt3l4sXL1718xIRFQcG80REhax58+YyceJEadiwoQwaNEjatGkjK1eutNmnX79+MmzYMM12T548Wfd5//338/X85cqVk8qVK2tGGpl/XBCc2kPWv2rVqvpztWrVdD83N7dL9kMQj8w7TigaNWokb7zxhmbnccJgeOmll/Qkom7dunL33XfrycP3339vvg5e393d3TwebLOH18ZrfP311+Y2vC/I1OPEBpCRx3Pj9fENwJNPPqlBt/FaVwMnC/j2Ye7cuZrpb9KkicybN09LkPAtBxGRM2HNPBFREQTz1lCrfvLkSZttHTp0uOQ2SmmKGhbIHjt2TDp16mSzHbfxrYF1QPzee+9JdHS0pKamSmZmpn4z4Chk4G+88UZ9zRo1ashXX32l9fzGYl5k6qdOnarBOxbsInN+4cIFLbm5Wvg9Dhw4oJl5a/gWAL8PEZEzYTBPRFTIPDw8bG4jg47McH6hhSRYLBZzm1GfXhzWr1+vQTjq4lGugm8Fvv32Wy3NcVTbtm0lJCREHz9y5EiZP3++TW37jBkztIwH3wogi45yJbShvFw5DN5f6/fK/v3CyQdKd3DiYA/fWBARORMG80REJcCGDRu0BMf69g033GATYKL23NfXV3+2z9qj1AZZ7GuF7Doy5Kgj79q1q7kdt9u1a6c/R0RESJ06deR///ufef/hw4ev+nhwYoDAGgtuceKCzLz162Jx6oABA/Q2ToL++ecfadq0aZ7Ph/cL75UBtf7p6enm7VatWuk3CwEBAVf1bQIRUUnCmnkiohLghx9+kPDwcA1UUV+PBZ7oBw8NGjTQharoUIPAFItB7bPgqF1Hxhk156dPn7YJXh01btw4rZNHwLtv3z55/vnn9eQBXWYAtf+oL0c2HWUpKLdBRt3+eA4ePKiPw/GgNOZywfzWrVvltddek/vuu0876BjwWlgsjBMILAgePny4nDhx4rLHj044H3zwgWzbtk02b94sI0aMsPl2BK/n7++vJwlYAIvjRK08ug7FxsZe9ftGRFQcGMwTEZUAKFlBcIz6+s8//1zbLxrZZwSiuP3333/r/Qi0p0yZYvN4LEZF0IquMchMo2vO1UJQ+/TTT2tHGpS2oC3lokWLNLAGdLYZO3asnmxgYSoCbXTjsYYFrFioesstt+jxXK6dJE5WkPVH5xyji431Qltk0lHOgzafWEx7paFcONHByU/nzp3loYce0gW01jX2+Pmvv/6S2rVry3/+8x9dADt06FCtmWemnoicjYvFvrCQiIiKFGq8kdkujsmxRETk3JiZJyIiIiJyUgzmiYiIiIicFLvZEBEVM1Y7EhHR1WJmnoiIiIjISTGYJyIiIiJyUgzmiYiIiIicFIN5IiIiIiInxWCeiIiIiMhJMZgnIiIiInJSDOaJiIiIiJwUg3kiIiIiIifFYJ6IiIiISJzT/wFicf8b0JJg4gAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "vs = np.arange(4.9, 6.1, 1 / 577)\n", "# Round to nearest\n", "rn = round_ndarray(fi, vs)\n", "err_rn = np.abs(rn - vs).mean()\n", "\n", "fig, ax = plt.subplots(1, 1, figsize=(9, 5))\n", "\n", "ax.plot(vs, vs, label=\"True value\", color=\"k\")\n", "ax.plot(\n", " vs,\n", " rn,\n", " label=f\"Round to nearest, err={err_rn:.2f}\",\n", " color=\"red\",\n", " markersize=3,\n", " linestyle=\"\",\n", " marker=\".\",\n", ")\n", "\n", "# Stochastic rounding\n", "srnumbits = 16\n", "nsamples = 500\n", "srbits = np.random.randint(0, 2**srnumbits, (nsamples, len(vs)))\n", "\n", "rvs = round_ndarray(\n", " fi,\n", " vs[np.newaxis, :],\n", " RoundMode.Stochastic,\n", " sat=False,\n", " srbits=srbits,\n", " srnumbits=srnumbits,\n", ")\n", "rvmean = rvs.mean(axis=0)\n", "err = np.abs(rvmean - vs).mean()\n", "lollipops(\n", " ax,\n", " vs,\n", " rvmean,\n", " label=f\"SR, {srnumbits} bits, err={err:.2f}\",\n", " key=RoundMode.Stochastic,\n", ")\n", "\n", "ax.set_xlabel(\"Input float value\")\n", "ax.set_ylabel(f\"Average of rounded values, {nsamples} samples\")\n", "ax.set_yticks(np.unique(rn))\n", "ax.legend()\n", "None" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The random deviation is easier to see at this scale, but still shows good agreement between SR and infinite precision." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## With fewer bits of randomness\n", "\n", "Random bits are rarely free - generating good quality random numbers is relatively \n", "expensive, whether in hardware or software.\n", "Thus, one may have fewer random bits available in a real-world system.\n", "\n", "Let's see what happens with 2 bits of randomness:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "figsize = (9, 5)\n", "fig, ax = plt.subplots(1, 1, figsize=figsize)\n", "\n", "ax.plot(vs, vs, label=\"True value\", color=\"k\")\n", "ax.plot(\n", " vs,\n", " rn,\n", " label=f\"Round to nearest, err={err_rn:.2f}\",\n", " color=\"r\",\n", " markersize=3,\n", " linestyle=\"\",\n", " marker=\".\",\n", ")\n", "\n", "# Stochastic rounding\n", "srnumbits = 2\n", "nsamples = 1_000\n", "srbits = np.random.randint(0, 2**srnumbits, (nsamples, len(vs)))\n", "\n", "rvs = round_ndarray(\n", " fi,\n", " vs[np.newaxis, :],\n", " RoundMode.Stochastic,\n", " sat=False,\n", " srbits=srbits,\n", " srnumbits=srnumbits,\n", ")\n", "rvmean = rvs.mean(axis=0)\n", "err = np.abs(rvmean - vs).mean()\n", "lollipops(\n", " ax,\n", " vs,\n", " rvmean,\n", " key=RoundMode.Stochastic,\n", " label=f\"SR, {srnumbits} bits, err={err:.2f}\",\n", ")\n", "\n", "ax.set_xlabel(\"Input float value\")\n", "ax.set_ylabel(f\"Average of rounded values, {nsamples} samples\")\n", "ax.set_yticks(np.unique(rn))\n", "ax.legend()\n", "None" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We still have the green line is closer to the black Y=X line than the grey line is,\n", "but now we all see the clear step effect, due to the limited number of SR bits.\n", "\n", "As a mental shorthand, we might consider that SR has given us extra precision \n", "corresponding to the number of `srbits`.\n", "Here, with `srbits = 2`, it's as if we are performing round-to-nearest in a 10-bit \n", "P5 format rather than an 8-bit P3 one. Let's just quickly simulate that.\n", "We will make a format like `format_info_ocp_e5m2`, but increase the \n", "bitwidth and precision:\n" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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vXq17vjx47r169frbr31Vl1YWJguMTFRPT548GDd2LFj9cvLMu7u7rp3331Xd+DAAd2ECRPUR2179uyx4atwfpa+T++8847O09NTt2DBAt358+f1X+np6TZ8Fc7N0vfIFNts7PN9OnXqlC4gIED35JNP6g4dOqRbsmSJait88803K2jElZOl75P8XyTv07fffqs7duyYbsWKFbr4+Hjdvffea8NX4dy2bNmi8sBbb72lO3LkiG7+/Pk6X19f3ddff61fRt4jea808t7IMqNHj1YZQtp03dzcdMuXL7fRq3BebLOpRM6cOaOm70pKSlJzxMrJQ5s2bVI/C5k9wLDaITMGyHy+48ePVycWyYkvixYt4hzzdvY+yUlJ0gJw9913G61nwoQJ6mIsZPv3iBzjfZJPSeTkPrkAkbSqyTzzTz/9tDqpnOznfZL/k2ROefkuFzKS5aSN7a233uLbZCVt2rTBwoUL8dJLL6mTj2XKSblwl8w8pDl//rzRLESyzNKlS9Xfk0x1HRMTo6ZO5hzz5c9FEr0V1ktERERERFbG0hERERERkYNimCciIiIiclAM80REREREDophnoiIiIjIQTHMExERERE5KIZ5IiIiIiIHxTBPREREROSgGOaJiCqZzz//XF0gSS7EIxd+kYuLNW/eHI7q5ptvxjPPPGPrYRAR2QTDPBFRORo6dCgGDBhQ4ft07ty5CA4OLnW5tLQ0PPnkk+qqpnL1zMcff9wq43H0AwQiIkfhbusBEBFRxZHLrefl5aFPnz6oVq0adz0RkYNjZZ6IyMotIE899RTGjBmD0NBQREZGqqq1IRcXF0ybNg29e/eGj48P4uLisGDBAv3jq1evVsukpKTo79u5c6e678SJE+rxRx55BKmpqeo++TLdhla9b9KkifpZtqE931RhYSFef/11xMTEwMvLS1XYly9fbrSMVPbr1q0LX19fta5XXnlFHSRo23nttdewa9cu/XjkPlMrVqyAt7e30esSTz/9NG655Rb1c1JSEh544AFER0erbcn4v/322xL3uWxv0aJFRvfJpxaGYzh9+jTuvfdedb+8L/379y9yXxAR2TuGeSIiK5s3bx78/PywefNmTJkyRQXllStXGi0jYfiuu+5SAXjQoEG4//77ceDAAbPW37FjR9X7HhgYiPPnz6uvF1544brl7rvvPqxatUr9vGXLFrWc9M6b+uijj/Dee+/h3Xffxe7du9GzZ0/ccccdOHLkiH6ZgIAAFY7379+vlv/iiy/wwQcf6Lfz/PPPo1GjRvrxyH2munfvrsL0Tz/9pL+voKAA33//vdoHIjs7G61atcLSpUuxd+9e1RY0ePBgNf6ykoMOeU3yGtauXYv169fD398fvXr1Qm5ubpnXS0RkCwzzRERW1rRpU0yYMAF16tTBkCFD0Lp1a/zxxx9Gy9xzzz0YPny4qna/8cYbaplPPvnErPV7enoiKChIVaSl8i9fEk5NSdW/SpUq6ufw8HC1nJub23XLSYiXyrscUNSrVw+TJ09W1Xk5YNCMHz9eHUTUqlUL/fr1UwcPP/zwg347sn13d3f9eOQ+U7Jt2cY333yjv0/2i1Tq5cBGSEVe1i3bl08A/vvf/6rQrW2rLORgQT59mDlzpqr0N2jQAHPmzFEtSPIpBxGRI2HPPBFRBYR5Q9KrnpiYaHRfhw4drrstrTQVTU6QPXfuHDp16mR0v9yWTw0MA/HHH3+Mo0ePIiMjA/n5+eqTAUtJBb59+/Zqm1FRUZg/f77q59dO5pVK/dtvv63Cu5ywK5XznJwc1XJTVvI6EhISVGXekHwKIK+HiMiRMMwTEVmZh4eH0W2poEtl2FwyhaTQ6XT6+7T+dFvYuHGjCuHSFy/tKvKpwHfffadacyzVpk0bxMfHq+c/8cQTWLhwoVFv+9SpU1Ubj3wqIFV0aVeSaShLaoeR/Wu4r0z3lxx8SOuOHDiYkk8siIgcCcM8EZEd2LRpk2rBMbzdokULo4ApvechISHqZ9OqvbTaSBX7Rkl1XSrk0kfetWtX/f1yu23bturnDRs2oGbNmnj55Zf1j588ebLM45EDAwnWcsKtHLhIZd5wu3Jy6kMPPaRuy0HQ4cOH0bBhw2LXJ/tL9pVGev0zMzP1t1u2bKk+WYiIiCjTpwlERPaEPfNERHbgxx9/xOzZs1VQlf56OcFT5oMXtWvXVieqygw1EkzlZFDTKrj0rkvFWXrOL1++bBReLTV69GjVJy+B99ChQxg7dqw6eJBZZoT0/kt/uVTTpS1F2m2kom46nuPHj6vnyXikNaakML99+3a89dZbuPvuu9UMOhrZlpwsLAcQckLwiBEjcPHixRLHLzPhfPrpp9ixYwe2bduGkSNHGn06ItsLCwtTBwlyAqyMU3rlZdahM2fOlHm/ERHZAsM8EZEdkJYVCcfSX//ll1+q6Re16rMEUbl98OBB9bgE7TfffNPo+XIyqoRWmTVGKtMya05ZSah97rnn1Iw00toi01IuXrxYBWshM9s8++yz6mBDTkyVoC2z8RiSE1jlRNVu3bqp8ZQ0naQcrEjVX2bO0WaxMTzRVirp0s4j03zKybSlXZRLDnTk4KdLly548MEH1Qm0hj328vPff/+NGjVq4M4771QnwA4bNkz1zLNST0SOxkVn2lhIREQVSnq8pbJtiyvHEhGRY2NlnoiIiIjIQTHMExERERE5KM5mQ0RkY+x2JCKismJlnoiIiIjIQTHMExERERE5KIZ5IiIiIiIHxTBPREREROSgGOaJiIiIiBwUwzwRERERkYNimCciIiIiclAM80REREREDophnoiIiIgIjun/AG0QJAohkKkUAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Make FormatInfo for a putative P5 format with the same exponent range as E5M2\n", "fi_p5 = FormatInfo(\n", " name=\"e5_p5\",\n", " k=10,\n", " precision=5,\n", " bias=15,\n", " has_nz=True,\n", " domain=Domain.Extended,\n", " num_high_nans=2**4 - 1,\n", " has_subnormals=True,\n", " is_signed=True,\n", " is_twos_complement=False,\n", ")\n", "\n", "# Round to nearest in P5\n", "rn_p5 = round_ndarray(fi_p5, vs)\n", "\n", "fig, ax = plt.subplots(1, 1, figsize=figsize)\n", "\n", "ax.plot(vs, vs, label=\"True value\", color=\"k\")\n", "\n", "# Stochastic rounding\n", "srnumbits = 2\n", "nsamples = 1_000\n", "srbits = np.random.randint(0, 2**srnumbits, (nsamples, len(vs)))\n", "\n", "rvs = round_ndarray(\n", " fi,\n", " vs[np.newaxis, :],\n", " RoundMode.Stochastic,\n", " sat=False,\n", " srbits=srbits,\n", " srnumbits=srnumbits,\n", ")\n", "rvmean = rvs.mean(axis=0)\n", "err = np.abs(rvmean - vs).mean()\n", "lollipops(\n", " ax,\n", " vs,\n", " rvmean,\n", " key=RoundMode.Stochastic,\n", " label=f\"SR, {srnumbits} bits, err={err:.2f}\",\n", ")\n", "\n", "ax.plot(vs, rn, label=f\"Round to nearest\", color=\"red\", linestyle=\"\", marker=\".\")\n", "ax.plot(\n", " vs,\n", " rn_p5,\n", " label=f\"Round to nearest ({fi_p5})\",\n", " color=\"pink\",\n", " linestyle=\"\",\n", " marker=\".\",\n", ")\n", "ax.set_xlabel(\"Input float value\")\n", "ax.set_ylabel(f\"Rounded values\")\n", "ax.set_yticks(np.unique(rn))\n", "ax.legend()\n", "None" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And we can observe that the \"Round to nearest (e5_p5)\" line and the \"SR\" line follow each other, up to noise.\n", "That is, with enough samples, 2 bits of stochastic rounding can be thought of as being\n", "akin to having 2 extra bits of precision." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Implementation of SR\n", "\n", "The second part of this notebook goes deeper into the implementation of SR,\n", "and explores some subtleties that are not generally brought out in discussions of practical implementations. These subtleties might be summarized as\n", "\n", "> stochastic rounding of infinite-precision values with real-valued random variables is easy, \n", "> but rounding finite-precision values with limited-precision random variables can have surprising effects\n", "\n", "Note that these details are independent of the quality of the random number generator (RNG) — all of the issues discussed here happen with perfect RNGs.\n", "\n", "### Case 0: Infinite-precision inputs and real-valued random variables\n", "\n", "To begin our discussion, let's start with \"high-school\" rounding,\n", "where we implement round-to-nearest with code like\n", "```py\n", "def round(x):\n", " return floor(x + 0.5)\n", "```\n", "\n", "Then SR is easily motivated by replacing \"0.5\" with a random number between 0 and 1:\n", "```py\n", "def round_stochastic(x):\n", " return floor(x + rand())\n", "```\n", "\n", "This is a correct definition when `x` and `rand()` work in infinite precision, \n", "but needs to change subtly when they are supplied in fixed precision, as is true \n", "in a floating point system.\n", " \n", "### Case 1: Infinite-precision inputs and limited-precision random variables\n", "\n", "Let's assume that `rand()` produces only `S` bits of randomness at every call,\n", "i.e. that its implementation is something like\n", "```py\n", "def rand(S):\n", " bits = randint(2**S) # Draw a random S-bit integer (assume this is perfectly random)\n", " return bits * 2**-S # Return a float in [0, 1)\n", "```\n", "so that SR looks like:\n", "```py\n", "def round_stochastic(x):\n", " return floor(x + randint(2**S) * 2**-S)\n", "```\n", "This is essentially gfloat's `StochasticFastest` implementation.\n", "There's a hint in the name \"Fastest\" that we may be trading speed for accuracy,\n", "so let's see how it behaves, by plotting the mean rounded value for a densely sampled set of inputs, as we did above for our default implementation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In practice there is a slightly different formulation using integer addition, as follows\n", "```py\n", "def round_stochastic(x):\n", " flx = floor(x)\n", " trailing_bits = (x - flx) * 2 ** S\n", " random_bits = randint(2 ** S)\n", " if trailing_bits + random_bits >= 2 ** S:\n", " return flx + 1\n", " else:\n", " return flx\n", "```\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's now test SRFastest.." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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IiIiIudimY0Tg/oFvRdI3LG4LINjzIPOpRG1IzJNP7/9vKRdTxPfIr4S1TDK9Hzy5WTZN3efBEcFq+esnzdfblilMInZH6OWA5i3RI0SMuXeKapjK04CcBJhfmKhT7NeJhERERE5B4N5J8ouYHe1NrliO4mIiIhIGMwTERERERkVO8ASEREREbk5jmZDRERERGRQDOaJiIiIiAyKwTwRERERkUExmCciIiIiMigG80REREREBsVgnoiIiIjIoBjMExEREREZFIN5IiIiIiKDYjBPRERERGRQDOaJiIiIiAyKwTwRERERkUExmCciIiIiMihfMTBN09S/CQkJzm4KEREREZHD6PGtHu+6ZTCfmJio/i1btqyzm0JERERElC/xbkhISLbPe2m5hfsuLCMjQ86fPy9BQUHi5eXl7Oa4zVkgTo7OnDkjwcHBzm4OZYH7yBi4n4yB+8kYuJ9cH/eR4yFERyAfFRUl3t7e7pmZxxsrU6aMs5vhlhDIM5h3bdxHxsD9ZAzcT8bA/eT6uI8cK6eMvI4dYImIiIiIDIrBPBERERGRQTGYJwuFCxeW4cOHq3/JNXEfGQP3kzFwPxkD95Pr4z5yHkN3gCUiIiIi8mTMzBMRERERGRSDeSIiIiIig2IwT0RERERkUAzmiYiIiIgMisG8BxkxYoS6U675o3r16jm+5pdfflHzFClSROrUqSNLliwpsPZ6Knv306RJk+SBBx6QsLAw9XjooYdk27ZtBdpmT5OXz5Ju9uzZav4OHTrkezs9XV72U3x8vAwYMEBKlSqlRue44447+L3ngvvp888/l2rVqknRokXVXcsHDx4s169fz++merRz585J9+7dpVixYmq7IybYvn17jq9Zt26dNGjQQH2WqlSpItOmTSuw9noSQ98BluxXq1YtWbVqlel3X9/sD4FNmzZJ165d5YMPPpB27drJzJkzVQCyY8cOqV27Nje/i+wnfFliP917773qpOvDDz+URx55RPbt2yelS5fmfnKBfaQ7efKkvPHGG+rki1xvP928eVMefvhhiYiIkLlz56rPz6lTpyQ0NLSAWuu57NlP+Fs0bNgwmTp1qvreO3z4sPTs2VOdBHz66acF1GLPEhcXJ/fdd588+OCDsnTpUilRooQcOXJEJZCyc+LECWnbtq3069dPZsyYIatXr5Y+ffqoE+VWrVoVaPvd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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fi = format_info_ocp_e5m2\n", "\n", "fig, ax = plt.subplots(1, 1, figsize=figsize)\n", "fig.suptitle(f\"Biased stochastic rounding: {longstr(RoundMode.StochasticFastest)}\")\n", "\n", "ax.plot(vs, vs, label=\"True value\", color=\"k\")\n", "ax.plot(vs, rn, label=f\"Round to nearest, err={err_rn:.2f}\", color=\"gray\")\n", "\n", "# Stochastic rounding\n", "srnumbits = 2\n", "nsamples = 10_000\n", "srbits = np.random.randint(0, 2**srnumbits, (nsamples, len(vs)))\n", "\n", "rvs = round_ndarray(\n", " fi,\n", " vs[np.newaxis, :],\n", " RoundMode.StochasticFastest,\n", " sat=False,\n", " srbits=srbits,\n", " srnumbits=srnumbits,\n", ")\n", "rvmean = rvs.mean(axis=0)\n", "err = np.abs(rvmean - vs).mean()\n", "lollipops(\n", " ax,\n", " vs,\n", " rvmean,\n", " key=RoundMode.StochasticFastest,\n", " label=f\"{RoundMode.StochasticFastest}, {srnumbits} bits, err={err:.2f}\",\n", ")\n", "\n", "ax.set_xlabel(\"Input float value\")\n", "ax.set_ylabel(f\"Average of rounded values, {nsamples} samples\")\n", "ax.set_yticks(np.unique(rn))\n", "ax.legend()\n", "None" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Yikes! The SRFastest line is not symmetric around $Y=X$ -- there is a bias towards zero.\n", "Note that it is still rounding as if to two extra bits of precision,\n", "but there is a clearly undesirable bias.\n", "\n", "Shortly, we will introduce a tool to analyse this more carefully, but for the moment, let's just try a single set of roundings, without averaging:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABHcAAAJaCAYAAAClTavJAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAc+RJREFUeJzt3Qd4W9X5x/GfvOI4iWNnOHvvSRaEECi77FHKKBsK/xYopdBCgRbKLKNAGaUFChRoy15hBgphhwxC9iB7D2fZsR3HjmWf/3NukJEV25FsyVdX+n6ex8S+urr31SthvX51zrk+Y4wRAAAAAAAAPCnF7QAAAAAAAADQcDR3AAAAAAAAPIzmDgAAAAAAgIfR3AEAAAAAAPAwmjsAAAAAAAAeRnMHAAAAAADAw2juAAAAAAAAeBjNHQAAAAAAAA9Lk4dVVVVpw4YNatWqlXw+n9vhAACAOhhjVFxcrM6dOyslhc+W3ET9BABA4tVPnm7u2MZOt27d3A4DAACEae3ateratSv5chH1EwAAiVc/ebq5Y0fsBB5odna22+EAAIAAY+TfVaa0mYucH4tKd6rbGSdWv3fDPdRPAADEKSMVbCpQ7tRc58eiXUXqdnm3sOonTzd3AlOxbGOH5g4AAHHCGJndu+WbvVRq0bLGTUyjdh/1EwAAcchIpQWl6jG3h5SliOsnJr0DAIAoFiZGso2dqfPIKgAAQDiMVFFcoaxJIV2dCNDcAQAA0WvsVFRINHYAAADCY6SqXVVK/zBdjUFzBwAAREdlpTRlLtkEAAAIh5FMmVHKe41vzXh6zZ1wLx3m9/tVaQtOIE6kpqYqLS2NtScAJA5j9PHED3VUdge3I0EUUD8lLmoQAIgjfsn37r7X01GyN3d2796tjRs3qrS01O1QgL1kZWWpU6dOysjIIDsAvK2qStO//JrGToKgfkp81CAA4DKzp7Hz2n9e0+mtTo/KIRO2uVNVVaWVK1c6n0507tzZ+QOaK3QgXj4NtYXzli1bnNdov379lJLCDEkAHmWMFsyZowOU6XYkiALqp8RGDQIAccIvaYKi1thJ6OaO/ePZFijdunVzPp0A4knz5s2Vnp6u1atXO6/VzEz+KALgQcZo9bIVGlLE1OdEQf2U+KhBAMBlRpr61VQdqAOjetiEbe4EMCIC8YrXJgBPq6pS/vr16rGhwO1IEAO8RyU2nl8AcG8q1oLZC3Tg1ug2dpKiuQMAAKLMGBVt264OK/JJLQAAQARTsYZoiGKBhT4AAED4jFFZ8U5lL1xF1gAAAMJhpPx1sf1QjOYOYsouYj1hwgSyDAAJotKuEzbrO7fDABIWtRMAJBgj7diyQx1mdIjpaWjuxOEben1ft956q9shAgCSkTEyFRW69cab3I4EqIHaCQAQt4xUVlim1p+3jvmpWHMnzmzcuLH6+5dffll/+tOftHjx4uptLVu2rHE5y8rKSqWl8TQCAGLIGKmiQr4pc3XHKWeRasQVaicAQFwykn+nX5kfN82VkZNq5I5thuzcubPJv+x5w9WxY8fqr9atWzufRgV+/u6779SqVStNnDhRo0ePVrNmzfTVV1/poosu0qmnnlrjOFdffbUOO+yw6p/tZeHvvvtu9erVy7kE5n777afXXnutzjj+8Ic/aOzYsXttt/e7/fbbne+/+eYbHX300WrXrp0T66GHHqqZM2fWeczPPvvMeTyFhYXV22bPnu1sW7Xqh7Ub7GM65JBDnDjtpeyvuuoqJ48AAJdUVkpT5pL+JORW7RRJ/UTtRO0EAHHHSKbMKG1i0w3ESKohH6WlpTVGvjSVkpIStWjRImrHu+GGG3T//ferd+/eys3NDes+trHz3//+V48//rj69eunL774Quedd57at2/vNGVCnXvuuc59li9frj59+jjbFixYoLlz5+r11193fi4uLtaFF16ov/3tb04B9sADD+j444/X0qVLnSZUQ9jzHXvssbrzzjv1r3/9S1u2bNGVV17pfD3zzDMNOiYAoIHsH9eVlXrr9dd1Ssc97wVILm7VTtGun6idAABNxn42USb53vU13TmTrbmTKOzIGTtiJlzl5eW666679PHHH2vcuHHONtsYsiNknnjiiVqbO0OGDHFG6bzwwgu6+eabnW3PP/+8M5qnb9++zs9HHHFEjfv885//VE5Ojj7//HOdeOKJDXpstqFkG0t25JFlG1GPPPKIE+Njjz2mzMymGdIGAPh+xM7k2TR24HnUTgCAJmvslEt6V00uqZo7WVlZzqdAbpw3msaMGRPR/suWLXM+eQttCO3evVsjR46s8362yWJHz9jmjh2Z8+KLL+q3v/1t9e35+fm66aabnOlWmzdvdtb/sedZs2aNGmrOnDnO6CDbSAqw57bTylauXKlBgwY1+NgAgAgYo2+nfqPRSidtScyt2ilw7mihdgIANAm/pHfkiqRq7ti1XaI5PcotoY8hJSVlr3npFRUV1d8HirL33ntPXbp0qbGfXbenLmeffbauv/56Zx2dXbt2ae3atTrrrB8W0rRTsrZt26aHH35YPXr0cI5lRwbZplFtbJxWcKzBcQZi/eUvf+mssxOqe/fudcYKAIgiY7Ro/nyNrqSxk+yonaidAABhMtKkiZN0pI6UG5KquZOo7Lo58+fPr7HNLlScnr6nKB88eLDTeLEjamqbglWXrl27OvvbUTS2uWNH/uTl5VXfPnnyZP3jH/9w1tmxbPNn69at9cYZuKpFYK0gG2ewUaNGaeHChdVTvwAATayqSuuWr9Kg7XZMMZCYqJ0AAFFjxy74pW8mf6Mjy91p7CTd1bISlV37ZsaMGfr3v//tLGZ8yy231Gj22MWNr732Wl1zzTV67rnnnEWL7WgcuxCy/bk+dmrWSy+9pFdffdX5PphdD+c///mPFi1apGnTpjm32ytc1cU2bOzVr2699VYnTjuSyC7CHMyOFPr666+dBZRt48fu99Zbbzk/AwBizBht2bhRXTdsJ9VIaNROAICoTsWaIO2/ZX+5ieZOAjjmmGOcdXF+//vfa//993euYnXBBRfU2OeOO+5w9rELFtt1a+wVqWxzxV4avT6nn366M/XKrqUTern1p59+WgUFBc5om/PPP9+ZShU8sieUHUlk1+2xl3QfPny47r33XueqWMHsdrsg85IlS5zLods1gf70pz+pc+fODcoNACBMxqh4e6HaL9tIypDwqJ0AAFFhpLXL1ioe+EzoYi0eUlRUpNatW2vHjh3Kzs6ucVtZWZmzAK9tXnCFJcQjXqMA4kn5zlI1m7EwZscv2lmi1iccXut7NpoW9ROoQQAgCoy0ef1m5U2pe4BDYxWVFqn1RbX3PEIxcgcAgGRmjCrLy3V90NUQAQAAUA8jFW8tjmljJ1I0dwAASFbGyOzerdSp8/TQOZe6HQ0AAED8M1J5UblafdZK8YTmDgAAyaqyUr6p89yOAgAAwDMqyyvV7H/NFG9o7gAAkGzscnt+v17417/djgQAAMAbjGR2G91+w+2KR2luBwAAAJpYZaU0ebbOGTCc1AMAAOyLvQxVueR7x6fbxt+meMTIHQAAkokx+vzTT92OAgAAwDv8kt5RXKO5AwBAsjBGs6bP0KEZuW5HAgAA4A1GmvDaBMU7pmUBAJAMqqq0dNEijSzzuR0JAACAN1RJn33wmU5NO1XxjpE7iNhhhx2mq6++mswBgFcYo42r1qjf1l1uRwIkpVtvvVUjRoyod5+LLrpIp54a/388AEDSMNKsybN02M7D5AU0d+KQfXP3+XzOV3p6unr16qXf//73KisrU6IUMIlu1apVzvM3e/Zst0MBkOyM0bbNm9Vp7Va3IwFiZsuWLbr88svVvXt3NWvWTB07dtQxxxyjyZMnV+/Ts2fP6voqKytLw4YN01NPPRXxuZ588kkdcsghys3Ndb6OOuooTZ8+vdGP4eGHH9azzz5b/TMfpgGAi4y0eP5ijdw00jNPA9Oy4tSxxx6rZ555RhUVFfr222914YUXOsXIvffe63ZoCc8Yo8rKSqWl8b8HAI8zRjsLdqjtd2vdjgSIqZ/+9KfavXu3nnvuOfXu3Vv5+fmaNGmStm3bVmO/22+/Xf/3f/+n0tJSvfrqq873Xbp00XHHHRf2uT777DOdffbZOuigg5SZmenUZj/+8Y+1YMEC51gN1bp16wbfFwAQRVXShmUbNOC7AfISRu7EqcCnTt26dXOG6NpPhT766KPq28vLy3XVVVcpLy/PKSwOPvhgffPNN9W3209+cnJyahxzwoQJToModITNf/7zH+fTLFtU/OxnP1NxcXH1Pjt37tQFF1ygli1bqlOnTnrggQfqjdue97bbbtOcOXOqPx0LfAq1Zs0anXLKKc6xsrOzdeaZZzrF175Gv7zxxhs6/PDDnU/Z9ttvP02ZMqXGfl999ZXzCVrz5s2dfNm82LgD7OMbM2aMWrVq5eT0nHPO0ebNm2sUafY8EydO1OjRo53c22NWVVXp7rvvdkZO2WPbc7/22mvV9ysoKNC5556r9u3bO7f369fPachZ9j7WyJEjnWPbT98AoEkZo4rSXWoxbxmJR0IrLCzUl19+6TRZbL3Qo0cPHXDAAbrxxht18skn19g3UAvYBtD111+vNm3a1KivwvH888/riiuucGqogQMHOqN/bM1gm0n78sQTTzi1iq1pbB20Y8eOWqdl2e8///xzZzRPoJ6ydVF9tQcAIAqMtG3DNnWe01leQ3MnXKWlkh1ya/9tYvPnz9fXX3+tjIyM6m12mtbrr7/ufEI1c+ZM9e3b1xl+vH379oiOvXz5cqfp8+677zpftpC45557qm+/7rrrnG1vvfWW/ve//zmNEHu+upx11ln63e9+pyFDhmjjxo3Ol91mix7b2LHx2ePZQmrFihXObfvyxz/+Uddee60zxal///7Op2V+v786fjvKyX5iN3fuXL388stOY+bKK6+svr8d/XTHHXc4DSf7WG1xZIumUDfccIPz2BctWqThw4c7jZ1///vfevzxx51P46655hqdd955TvzWzTffrIULFzpNIXufxx57TO3atXNuCwzP/vjjj50c2AYVADQZY1RVXq70GQtJOlxTUVqh9dPXO//Gkv3QyH7Z93j74Vc4bF1i6yjbLAmurxrCjgKytYZtFNVn2bJleuWVV/TOO+/ogw8+0KxZs5wmUW1sU2fcuHHOyKJAPWWbQvXVHgCARjJSyfYStZ3SVl7EvJNw2IaOXUNm6VKpXz/JrqOSlRXTJ8Y2WmyhYpsYtlBJSUnRo48+6txmR6XYN3M7IiYwjNjO/7YNk6efftppyITLFjf2OPaTLOv88893Pnn685//rJKSEud4//3vf3XkkUc6t9tmUteuXes8nv0UycZtpzTZT8YCbGzz5s3TypUrneLEso0T2wSyI47233//Oo9pGzsnnHCC870dFWTvYwsk+2mZbcDYT7ACCzzbT7AeeeQRHXrooU6O7Kimn//859XHsp/U2dvt+ezjs7EGD9U++uijne9tzu+66y6nOWOLq8B9bePIfupmj29HItmROXZUkGVHPwXYT9Sstm3b1sgDADQF4/crZdp8kg3X2IbO4yMe1/al29WmXxtdNvsypWelx+RctuawtYxthNgPZEaNGuW8T9vRyPbDmmB2tM5NN93kvM/bGss2ZC699NJGnd8es3Pnzs4o6/rYtRNt7ROYuvW3v/3NqW/sqOjQWsGOprZNJzvCJ/i2+moPAEDj7C7drZaf/PD3odcwcicc8+fvaexY9l/7c4zZYcV2pMq0adOc9XYuvvhiZ3RKYLSK/YRo/Pjx1fvbhZftEGT7KU4kbFEQaOxYdupVYMqSPY+dvz527Njq220RNGBA5HMPbVy2qRNo7FiDBw92po7tK+bgwszGZwVitKNxbEEX+NTOftkRTLZpZRtJll2z6KSTTnIWWbSP1RZ8gQIpWKBQsmzzyH4SZ5s9wce2RZnNi2UXbnzppZecYdl2JJUdXQUArjJG8vv1xN/2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jBmjlJQU9ejRQ0cffbRzCfS7775bJ5xwQmwiBYBGWt2htXp07kxjB0CTo34CAABxNXJn586dysvLc77Pzc11hhlbw4YN08yZM6MfIQBESY++vWjsAHAF9RMAAIir5s6AAQO0ePFi5/v99ttPTzzxhNavX6/HH39cnTp1ikWMANAo07RLGj9CSk0lkwBcQf0EAADialrWb37zG23cuNH5/pZbbtGxxx6r559/XhkZGXr22WdjESMANNjHRfk66sTjGbEDwFXUTwAAIK6aO+edd17196NHj9bq1av13XffqXv37mrXrl204wOARjnquGNo7ABwHfUTAACIq2lZX331VY2fs7KyNGrUKBo7AOLK0/OmMhULQNygfgIAAHHV3DniiCPUq1cv/eEPf9DChQtjExUANNIll10mpaUxagdAXKB+AhDv3t71ttshAGjK5s6GDRv0u9/9Tp9//rmGDh2qESNG6L777tO6desaEwcARI05cBiLJwOIK9RPAOLdySef7HYIAJqyuWPX1bnyyis1efJkLV++XGeccYaee+459ezZ0/lUCgDc5N9/iHwZGYzYARBXqJ8AAEBcNXeC2elZN9xwg+655x4NGzbMGc0DAG7ZtV9/pTXPpLEDIK5RPwEAgLhp7tiRO1dccYU6deqkc845x5mi9d5770U3OgAIU+HgnmreuhWNHQBxjfoJAADExaXQb7zxRr300kvO3PGjjz5aDz/8sE455RTnqlkA4Ib8nnnq0K4tjR0AcYv6CQAAxFVz54svvtB1112nM888k8ufA3DdivYt1btbVxo7AOIa9RMAAIir5o4dTgwA8WBeS5+GDRpAYwdA3KN+AgAAcbugMgC45WtTomGjRtHYAQAAAJD0aO4A8KSDDj6Yxg4AAEBtDGkBkg3NHQCe8sqKBdL4EVJqqtuhAAAAxB8jmTK6O0CyobkDwFPOPP9cKS2NUTsAAAChbE+nXPJ94Kve9KnvU/IEJAGaOwA8wxw4jBE7AAAAdfFLeqfmpsOPOpx8AUkgrKtl5ebmyuf7oftbn+3btzc2JgCo4bpXntW9D/5VKenpjNgB4BnUTwCalJFee/E1nd789JrbmckOJIWwmjsPPfRQ9ffbtm3TnXfeqWOOOUbjxo1ztk2ZMkUffvihbr755thFCiA5mL3niN91/31KychwJRwAaCjqJwBNwpZOfmnS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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Stochastic rounding\n", "np.random.seed(1)\n", "srnumbits = 2\n", "srbits = np.random.randint(0, 2**srnumbits, len(vs))\n", "rvs = round_ndarray(\n", " fi, vs, RoundMode.StochasticFastest, sat=False, srbits=srbits, srnumbits=srnumbits\n", ")\n", "\n", "# Plot\n", "fig, axs = plt.subplots(1, 2, figsize=(14, 7))\n", "for ax in axs:\n", " ax.plot(vs, vs, label=\"True value\", color=\"k\")\n", "\n", " if ax == axs[0]:\n", " lollipops(ax, vs, rn, key=RoundMode.TiesToEven, label=\"Round to nearest\")\n", " else:\n", " lollipops(\n", " ax, vs, rvs, key=RoundMode.StochasticFastest, label=f\"SR, {srnumbits} bits\"\n", " )\n", "\n", " ax.set_xlabel(\"Input float value\")\n", " ax.set_ylabel(f\"Rounded values\")\n", " ax.set_yticks(np.unique(rvs))\n", " ax.set_xlim(4.9, 6.1)\n", " ax.set_ylim(4.9, 6.1)\n", " ax.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Yes, it looks as if there are more roundings-up than roundings-down, consistent with the averages we saw above." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Rounding profiles: a tool to understand the bias " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To visualize the behaviour of a conventional rounding mode, we might\n", "plot the rounding for a densely sampled set of values between two floats.\n", "\n", "In OCP E5M2 format, the values 5 and 6 are adjacent floats. Under NearestTiesToEven,\n", "all values between them below 5.5 round to 5, the other values to 6.\n", "\n", "We would express this behaviour as a \"rounding profile\" a function from the reals to \n", "the value set of the floating point format. " ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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iRS1d+9ea12o0UdvUEO05tFrXajSgAgugmSU6K+y3r172/+rTuaJJ57o3n33XWsr6dGTTeUOvNs1pp1semL+7Gc/cy+99NIBv5dC4/7uA0CcECSRYnbs2OHKysrc9OnT/Y50GmlUyT+tf1S1FkYekfhBUv8419bG53urvlWYOzDnzp1rRdvbWhbpnnvusSeonrgq/A4gSRAkkSIqKytt84xex9TGUDQAMmnSJHtTgWogeYKkQmTnzvH53tu3O5eb2+qba91I586d3e7du630gepk/fa3v23Tt1SBVpVVuummm9x7773X4u1Ugql5HS51DgAQJwRJJDG9bqnzjALk2rVr/eN9+vSx6WstpcrISOy4gPjhNyNKjj/+eOtDrumAhx9+2J50Z599dpvv584777SpAy1kbqnu1osvvmi3AZAgCJJIQpqy1gyYprD12iXp6ekWHBUg+/btG+9TRBJI7CCp6eV4jbS1sXVTbm6u7VaTZ555xoqwavPMJZdc0qb7UdmESy+91N1888329fujNZje9wKQAAiSSKLaj6tWrbLRx/nz53/VutA516VLF1tSpZkxza4BqREktUaxDdPLiULTzj/96U/dtddea+UQcnJy2vT1t956qwXKqVOntts5AogigiQSnCqKzJkzxwLkhg0b/ONay6+1+SNHjrTRSCC1gmQSO+ecc9wNN9zgHnvsMXf99de36WsLCwsthN5///0ttqJav359k2P5+fl0EADihSCJBKVajyrdowLiKiQuWno1btw4m77W6w0QCYJkO9ET9YorrnD33Xefu/zyy23quy0UPrXm0nviN6bSQs1NmTLFnXfeeRGdM4AwESSRQDRdvWzZMht9XLRoUZMBB40+Tpgwoc0zZUBL0kLeAokYLu5V+YDq6mrXtWvXJp9TaFq+fLl1hqE/Z/TwuALtTP+W1dQ4t3ixc6xfRpyoYog6omkEUjNXHi2V0uij1tY3r/gBhJPXGmNEEgAixYgk4mjTpk0WHsvLy119fb3fAKO0tNQCJJ3P0J4IkgAQKYIk4tC6UNPWmr7WTJ6nZ8+eFh61BlId14D2RpAEgEgRJBEjtbW1tnFGI5CachS1KlSbXa1/1NIwWhcilgiSABApgiTa2bp16/zWhepEI9owo7qPqv+ojTRAPBAkASBSBEm0A/W6VtFwBcjVq1f7x3v37m3T12PG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gLAQJGNg79691rpQo4/Lly/3j6u1pNe6MDMzMxanAgAAEDUEyRh48803rQakaLp6xIgRFiC1C5vpawAAkKwIkjEwduxY60ajuo+avs7Ly4vFtwUAAGhXaSGvynUMO7QoSFVXVwemF7QeYvXCzsggtwMAgMTX2rzWIaZnFVCaviZEAgCAVEOQBAAAQFgIkgAAAAgLQRIAAABhIUgCAAAgLARJAAAAhIUgCQAAgLDEvLChV7ZS9YkAAACQeLycdrBy4zEPkjU1Nfa+f//+sf7WAAAAaGNuO1BHvph3ttm7d6+rrKx0Xbp0oc90Av71oYC/evXqwHQdShZcm8TG9UlcXJvExbVJbIqHCpF9+vRxHTp0SJwRSZ1Mv379Yv1t0QYKkQTJxMS1SWxcn8TFtUlcXJvEdaCRSA+bbQAAABAWgiQAAADCQpCELysry9122232HomFa5PYuD6Ji2uTuLg2qSHmm20AAACQGhiRBAAAQFgIkgAAAAgLQRIAAABhIUgCAAAgLATJFHX77bdb56DGbyNHjjzg1/zhD3+w22RnZ7uxY8e6P/3pT00+r31Zt956qysqKnI5OTnuxBNPdIsXL27nnyT1tPXaPPXUU+7oo4923bp1szc97p9//nmT21x88cX73Ocpp5wSg58m2Nfmueee2+f2ev40xvMmftfnuOOO2+f2ejvttNP82/DciZ61a9e6733ve65Hjx72GqHXkenTpx/waz744AM3ceJE28E9bNgwe04199hjj7lBgwbZc+uwww7b598/xBdBMoWVlJS4devW+W9/+ctfWrztxx9/7M4//3x3ySWXuJkzZ7ozzzzT3ubOnevf5r777nO/+c1v3BNPPOE+++wzl5ub604++WRXV1cXo58omNdG/9Dq2rz//vvuk08+sTaWJ510kv2j3ZiCY+P7nDJlSgx+kmBfG68rR+Pbr1y5ssnned7E7/q88sorTW6rf8/S09PdOeec0+R2PHciV1VV5Y488kjXsWNH9+abb7qKigr34IMP2h+/LVm+fLmF+uOPP97NmjXLXX311e4HP/iBe/vtt/3bvPjii+7aa6+10nRlZWVu/Pjx9rqzcePGKJw1okLlf5B6brvtttD48eNbfftzzz03dNpppzU5dthhh4V++MMf2v/v3bs31Lt379D999/vf37r1q2hrKys0JQpU6J45qmvrdemud27d4e6dOkSev755/1jF110UeiMM86I0hkGV1uvzbPPPhvKy8tr8fM8bxLrufPwww/bc2f79u3+MZ470XHTTTeFjjrqqDZ9zY033hgqKSlpcuw73/lO6OSTT/Y/PvTQQ0M/+clP/I/37NkT6tOnT+juu++OwlkjGhiRTGGadlaz9SFDhrgLLrjArVq1qsXbaqRLU6aN6a8+Hff+cly/fn2T26gHp6YZvNugfa5Nc7W1ta6hocF17959n5HLgoICN2LECHf55Ze7LVu2cElicG22b9/uBg4caCPFZ5xxhps3b57/OZ43ifXcefrpp915551nsymN8dyJ3Ouvv+4mT55so736d2jChAm2LOdADva6U19f72bMmNHkNh06dLCPed1JHATJFKWAp7Umb731lnv88cftBU3r7GpqavZ7e4XEwsLCJsf0sY57n/eOtXQbtM+1ae6mm26yF9LG/7hqau53v/ude++999y9997rPvzwQ/fNb37T7dmzh8vSjtdGof2ZZ55xr732mnvhhRfc3r173RFHHOHWrFljn+d5kzjPHa2r09S2pk4b47kTHcuWLbNrUlxcbFPT+mP2qquucs8//3yLX9PS6862bdvczp073ebNm+3fMF53ElxUxjWR8KqqqkJdu3YN/cd//Md+P9+xY8fQ73//+ybHHnvssVBBQYH9/1//+ld1QApVVlY2uc0555xj0+Jov2vTmKZzunXrFiovLz/g7ZYuXWrXa9q0aVyaGF0bqa+vDw0dOjT085//3D7meZM41+eyyy4LjR079qC347kTHr2GHH744U2OXXnllaFvfOMbLX5NcXFx6K677mpy7I033rB/u2pra0Nr1661///444+b3OaGG26wKW8kBkYkAyI/P98NHz7cLVmyZL+f7927t9uwYUOTY/pYx73Pe8daug3a59p4HnjgAXfPPfe4d955x40bN+6At9W0X8+ePQ96n4jOtfFoo4Gm9Lzb87xJjOuzY8cON3XqVNtMeDA8d8Kjah6jR49ucmzUqFEHXHrQ0uuONrBp17f+DdPmKF53EhtBMiC0jmvp0qX2ZN+fww8/3KZFG3v33XftuAwePNie9I1vo+kH7d72boP2uTbezt9f/vKXNqWndUgHo6lVrZE80H0iOtemMU3DzZkzx789z5vEuD4qbbZr1y4rTXMwPHfCox3bCxcubHJs0aJFtn64JQd73cnMzHSTJk1qchstH9HHvO4kkHgPiaJ9XHfddaEPPvggtHz5cpteO/HEE0M9e/YMbdy40T5/4YUXhm6++Wb/9rpNRkZG6IEHHgjNnz/fdkdqqmLOnDn+be65555Qfn5+6LXXXgvNnj3bdgkPHjw4tHPnTi5jO14bPe6ZmZmhl19+ObRu3Tr/raamxj6v99dff33ok08+sfvUdPbEiRNt2qiuro5r047X5o477gi9/fbbNh06Y8aM0HnnnRfKzs4OzZs3j+dNAlwfj3YTazdwczx3oufzzz+315Bf/epXocWLF4f+67/+K9SpU6fQCy+84N9G10bXyLNs2TK7jaaq9bqj5VTp6emht956y7/N1KlTrTrIc889F6qoqLAlCnodWr9+fRTPHpEgSKYo/aNZVFRkAaRv37728ZIlS/zPH3vssVb2orGXXnopNHz4cPsalWTQWpXmpUz+9V//NVRYWGhP7BNOOCG0cOHCmP1MQb02AwcOtHVCzd8U9kVriU466aRQr169LPzr9pdeein/0Mbg2lx99dWhAQMG2O31vDj11FNDZWVlTe6T5018/11bsGCBPV/eeeedfe6P5050/c///E9ozJgx9vowcuTI0JNPPtnk87o2ukaNvf/++6HS0lK7pkOGDLGSWs09+uij/vNMayM//fTTKJ85IpGm/8R7VBQAAADJhzWSAAAACAtBEgAAAGEhSAIAACAsBEkAAACEhSAJAACAsBAkAQAAEBaCJAAAAMJCkAQAAEBYCJIAAAAIC0ESAAAAYSFIAgAAICwESQAAALhw/D+5y9mIAPIjIQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(8, 3))\n", "r = round_ndarray(fi, vs, RoundMode.TiesToEven)\n", "ax.plot(vs, vs, label=f\"input\", color=\"gray\")\n", "ax.plot(vs, r, label=f\"RTNE\", color=mode_colors[RoundMode.TiesToEven][1])\n", "ax.set_xlim(4.75, 6.25)\n", "ax.set_xticks(np.arange(5, 6.1, step=0.25))\n", "ax.set_yticks([5, 6])\n", "ax.legend()\n", "ax.set_title(f\"Rounding profile for RTNE\")\n", "None" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To consider the behaviour of stochastic rounding, think of it as selecting a random \n", "rounding profile based on the set of stochastic rounding bits. Let us plot those \n", "profiles for SRNumBits=2, so there are four profiles." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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WtTatGmTbrNq1arWu+++q9scP368VbhwYR8Xm7tN2W0HroIqVapYEydO1O288847VpEiRbJ11WE77dq1s44ePWqlpaXpcX799dc+y3/729/q8lOnTuV47P5uQXeb7c9wM1xzzTW6Dbgi4MqoUKGCtW/fPmv27NlW06ZNdX9w3a1cuVKP0Z9Q2+Em0D78z3GXLl3U1faf//zHKlasmHXPPfdYBw8e1HOF75s3bw7qXAZz7LltZ07nA/upX7++NWzYMHUTYXsrVqwI+Duy+fTTT639+/frNocMGWJde+21IbfN/T1QW7L6bdq/vSNHjgTsby9cd4899phO/uDYcCw9evSw5s6dq8cbyv0oq3OeU/+F0oe5vV6zalN258Ddh+7rHfu74oorrHXr1lnLli3TbcLdmhUzZ87U85Kammp98skn1pVXXukTHpAdGzZs0H5EP4CHHnpI3aXg4YcfVncq3K9PP/20upDx114Py3744Qd1wQ4dOlTn33///Vbr1q2tVq1aWcuXL3f2g9+87WrNDrhoP/roo4DrYNvNmjWzZsyYcdlvBfensWPH6mccw4033mj16dPHZ7ndTlx/w4cPt1q2bOmc00cffdR64403nPVfeeUVdSnbNGnSxPr73/+u62d37W7btk2vI9wLEapxxx13WG+99Za61UPpi1D7Abj7Irt+IJegkMxncMNC/AniQ3BzwwWICw98++23utwNLsYpU6YE9UBzX3y/+tWvrM8++0zjOa666ipnPi5UPOACPdCy2s78+fOtmjVr+rQN8SeBhCT+j83//u//Wr169fJZ7o4fyunYgxGSS5Ys0TgXN7gx4AYK4YV4KDw0sntg5KYdbgLtw/8c48FogwcaHsw2zZs313MezLkM5thz286czseiRYv0t5RVnFB2v6OswO+/UKFC+qAPpW3u74HaklXb7N9eTv3ttevOH4jSBx98UGMbExISrAceeMA6duxYUPcj9/IyZcroNGDAgID9B4Ltw9xer7mJkfQXkrNmzfIRv3iZQDxpdkyePFnFJK7Vn376Kcf94eUY1zEEVX4TLiG5Y8cOq2/fvnqMEF09e/bUFyJQq1Ytn98J1rOX2csRO4nfCF6Yqlev7iPwIFDx0mzTtWtXa8KECc53/D/8poPNF0BfQtRjv2hPoBjRguwLcgG6tgsAZOAdP35cPv/8c3WZ2DE0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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(8, 3))\n", "ax.plot(vs, vs, label=f\"input $x$\", color=\"gray\")\n", "\n", "srnumbits = 2\n", "for srbits in range(2**srnumbits):\n", " r = round_ndarray(\n", " fi,\n", " vs,\n", " RoundMode.StochasticFastest,\n", " sat=False,\n", " srbits=np.full(vs.shape, srbits),\n", " srnumbits=srnumbits,\n", " )\n", " ax.plot(vs, r, label=f\"SRBits=0b{srbits:02b}\")\n", "ax.set_xlim(4.75, 6.25)\n", "ax.set_ylim(4.75, 6.25)\n", "ax.set_xticks(np.arange(5, 6.1, step=0.25))\n", "ax.set_yticks([5, 6])\n", "ax.legend()\n", "ax.set_title(\n", " f\"Rounding profiles of simple stochastic rounding: {longstr(RoundMode.StochasticFastest)}\",\n", " fontsize=\"small\",\n", ")\n", "None" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So, if SRBits = 0b11, then any value above 5.25 is rounded to 6, which feels sensible;\n", "and if SRBits = 0b01, then any value above 5.75 rounds to 6, again sensible.\n", "\n", "But look what happens if SRBits = 0b00. Then all values below 6.0 round to 5.0, \n", "which feels a bit wasteful. If we look at the list of step thresholds:\n", "```python\n", " [5.25, 5.50, 5.75, 6.00]\n", "```\n", "we could make them more symmetric by subtracting 1/8 from each:\n", "```python\n", " [5.125, 5.375, 5.625, 5.875]\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Put more generally, we will add an extra half bit to SRBits.\n", "\n", "From:\n", "```py\n", "def round_stochastic_fastest(x):\n", " bits = randint(2**S) # Draw a random S-bit integer\n", " return floor(x + bits * 2**-S)\n", "```\n", "\n", "To:\n", "```py\n", "def round_stochastic_fast(x):\n", " bits = randint(2**S) # Draw a random S-bit integer\n", " return floor(x + (float(bits) + 0.5) * 2**-S)\n", "```\n", "\n", "This is essentially what is done in the mode called `RoundMode.StochasticFast`.\n", "\n", "Let's see if it works..." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABRIAAAHaCAYAAAB8VbV4AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAA4oxJREFUeJzs3Qd4U9UbBvA3HdC96GJv2SCCouJAUBkqoDhAHCiouPfe4++eqIgDxT1RQBCQJcpSkL33povuSdPc//OdetMkTUfapFnv73lK2+Tm3pOb0J6+9zvnGDRN00BERERERERERERUjYDq7iQiIiIiIiIiIiJikEhERERERERERES1wopEIiIiIiIiIiIiqhGDRCIiIiIiIiIiIqoRg0QiIiIiIiIiIiKqEYNEIiIiIiIiIiIiqhGDRCIiIiIiIiIiIqoRg0QiIiIiIiIiIiKqEYNEIiIiIiIiIiIiqhGDRCIiIiIiIiIiIqoRg0QiIiIiIiIiIiKqEYNEIiIL0dHROHLkiN1zUlJSgqSkJOTm5vKcUY3vGb5fiIiIqsffoUTehf9nSTBIJCL6z8GDB9Xn5s2b2z0njRs3RmpqKqKioqBpGiIiIpCWlsbz58eqe8/w/UJEROQdv0M/+OADnHLKKQgODsYzzzzDl42oHv9nhav/3/L/rHsxSCQi+s/mzZvRuXPnWp2Pffv2ISwsDImJiTx/fqy27xm+X4iIiNzzO3TcuHGYNm1atds0bdpUBYijRo3iy0Tk5r+V+H/W8zFIJCK/8sYbb2D06NG49tprVWl+165dsWfPHvMvR7nCdvXVV6v7Tj/9dBw4cMD82HfeeQfjx4/Htm3b1OOysrLUlbZTTz0V27dvx/nnn4+4uDjExsbirrvugj/Lz89HQEAA3nrrLfjq+6Wm90x17xfB9wwREfkyb/odOnLkSAwfPhwxMTHwFK+++qoKbUwmk7ub4lF8pY85ZcoUtGrVSk2F4wt/K+n/Z0VD/K3kif9n/QmDRPJqmzZtwuWXX47WrVsjJCRE/WC74IIL8O6775q3kSuQBoPB/BEUFKS2kysd9uY1s93e8uORRx5x+nNYsWKFugKanZ3t9H07+xi33norOnXqVO02kydPVueqX79+aCirV6/GHXfcgW7duiE8PFz9Ur7yyiuxc+dOu+8ZOR+yfWZmJrp3745PP/3U/Mtx+fLl6r6MjAy0bdsWTz/9tPmxGzduRM+ePdGlSxd1u5wP6czI8ceOHYubb74Zx48fV79Qr7/++krHfvnll9X7tCFIW6VN8l5v1KgRkpOTcdZZZ+HZZ581bzN//nyr97cM5+nQoYN6r5w4caLSPm23lw8ZvnDaaadhxowZVtvKuZQhDXK+dPL9c889h7/++gvuVtv3THXvl5reM9W9X0Rt3jNERP6Gfbva97k8vd/li79DG6ovJ/Nxv/LKK3j44YdVaFaXPq+rsI9ZNXmPyvt1yJAhKjCT/5tVVcPK36LS3/7www/hC38r6f9nRV3/ViLvEeTuBhDVlfyAO++889QPwptuukkFJYcOHcKqVavUFZE777zTansJMOSHXXFxsdpGfqgvW7ZM/UC01yHQt7ckP0hd8Twk3JFfJq66ouKsY5SWltZ41ezrr79WwdU///yD3bt3q2DK1aSjJb/UrrjiCvULLCUlBe+9956a60Zea8vXTX45SlCmd7g7duyoAi4h74Unn3wSZ555pvpersTZBonXXHON+euBAwea75MrddIZkKvGEq716dOnUjuNRmODXHX8+eefMWbMGPV/45ZbbkGzZs3UnCYLFy7EV199ZX5OGzZsUJ/ffPNNJCQkoLCwED/++KN6r0g7X3rpJav96ttPmjRJXUmU5yr/5+R7OfdybvXhDhIuFhUVqflSdNJZkWPXdkiEJ7xnqnu/1PSeqe79Utv3DBGRP2HfzrE+l6f3u3zxd2hD9eUkuJFjSX+urn1eV2Afs3oSrsnfkNIH79WrF/74448qt5W/PyVMk364/N0qoaM3/61k+X+2rn8rkRfRiLzUsGHDtISEBC0rK6vSfampqeavP/vsM/nJp61evdpqm4cffljd/v3331vdXtX2rvLaa6+p4+3bt8/jjzF+/HitdevWVd6/d+9edZznnntOCw4O1p555pla7TczM1ObPn16lfd/8803Wn5+fpX3L1++XCspKbG6befOnVrjxo21sWPHmm8zGo1aSEiIdvToUfNtI0aM0D7//HOtrKxM3XfkyBHzfdOmTdMGDx6svpb7w8LCtIyMDPV9165dtVWrVpm3/e2337T+/ftrSUlJ2oMPPqiVlpZWaufzzz+vzo8jzj33XO3666+v9fZyLqOjo1VbbM+JsHx+cm7kOct50cljkpOTtbZt21Z6rGwfExNT6fYp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uQe+pLi4GLfffjuaNGmCiIgIjBo1CqmpqTVelH3qqafQtGlThIaGqvO9a9euStvNmTMH/fr1U9vI6+KKUNb2NWpoGzduVO+9kJAQtGzZEq+++mqNjzl48CAuuugitG/fHj179sRDDz0Eo9FY6f/ZKaecov6vdujQwe5zfP/999X/GTm2nGdnvOeJPEnngGJc0iERocFBnN/e04LERx55BC+88AIWLFigVszTDRw4EKtWrXJ2+4iIPKIikcinmYC0g2nADOCU9FPc3RqiGrE/6noSEK1btw6ff/65WsRm1qxZKhg7fvy41XbPPfccjh07hs2bN+Oaa67BTTfdpEYq2dqxY4faTv+Q19BdJHSRkVVLlizBypUrVaAjK38fOXKkXvuNjo5GTEwMPM2JEycq3VZWVgaTyeTwvu699178+uuv+PHHH1Wgf/ToUVx22WXVPkbCskmTJmHKlCmqGCU8PFyF0hJK6qZPn45rr70WN9xwgypQkcD66quvhrO58zWSFeXlfda6dWv8+++/eO2111QV5UcffVTlY+R1khBRXsOZM2eq4PyLL75Qwaxu3759apvzzjsP69evV+H1hAkTMH/+fPM2siCVLFAlhT9r165Fr1691Gugjy4k8nbnt45H5/atWYXoqUHipk2bcOmll1a6PTExERkZGc5qFxGRR+GqzeSTNKCsuAzfTPkGif8kurs1RLXmr/3RwkJAiojksytlZ2fjr7/+wiuvvKLCCQk+TjvtNDz66KMYPny41baRkZGqWrFdu3Z4+OGHERcXpwoO7L02sp3+IdVsq1evxgUXXID4+HgV8Jx77rkq5LC8mCdBi14V2axZM9x1113qPgk1Dxw4oIItvcqxtr7++mvcdtttaqhy586dVRWlhGqLFi2q8bEffvihCh6lAvPKK69ETk6O3aHN8rUEbVIBp7dv//79yMrKwtixY5GQkKAq7zp27IjPPvsMjli2bJmqapPHS1vknBQUFJjvl6qz559/Htdddx2ioqJw8803qwo1CdAkEO7atas6n1Lp5gh5rlOnTsWbb76pikj69Omj2r5ixYoqC0rkNZTwSypQR4wYoSrqJAiTAHLGjBlqG6muu/vuu1WwNnHiRJx00kmqjXJ+66K2r5GYN2+eWgVezo1UWcoK7jJtgk4CvDvuuENVU0oln/xfeOmll+rULnnfyf4+/fRT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533qqafc997rVSCqirZt27bZ/fff78IphV4KS1999VUXPiVV1TdlyhR3uyVLlrhqtzfffNOtF+bRNML//ve/9tNPP1np0qXda9QUP00zlA8++MBGjhxp69atc5ddeOGFrppS0w29kKtdu3b21Vdfueo7TUn85ptv7IILLnD9PXr0aNu1a5f7JV79dO2117r7qb969erlbnv48GFXOfrYY4/Z7bff7totZ599tvvapk0b9zwpoff28ccft4kTJ7r3r1GjRq4dqgQNfG9V4de/f39bv369Cxd0vSqVtK6a3terr77a3TYY6lu1/cUXX3TntXGE+lfHVmJBol5zoD59+rg+0THjBYkKJQONHTvWva86FhQ6AkiaPmM2bdrkNnLJSvIXNGt4jvd/auD/rcl9H8xt0/YYF0RFWqniDVjHDQCAbIwgEUDIKERUyJTRFHQFWx3m0XRQVX1pWpvnkUcecUGMpkDr8ueff94FPQqUSpYsmeLH1i+mCp1URaZg7LrrrnNrej399NPueoWV3333nX3++ecueFNotGzZskSn615//fWuvVrXa/bs2e4yVaZp04Err7zSChcu7B7v5MmTdt9997nbJxewKVQbPny4CxH1vSrb9DpVMaj2K5AcOnSomzq4d+9eF+7ppADTe8+HDBlidevWtT179rhpuwo2FRwGUiin56lRo4aVKFHCHScffvihC9f03PPnz7dbbrnFypQp44JBhYpr1qyxGTNmuABTbTp69Kh7LE3z1bRd9UHDhg2Deu/Vdj2uQmJttDB16lT3GhVwqh0SExPjwkUFcqVKlfKHomr/k08+aQMHDvQ/np5/q8pXEqF11/QaZNGiRS60DqTjKtg1MTX9QCFkYtR+vS/BHKtATqI/2nTq1Ml9vu/cudP9TKu6UZ9/SJkC21dbh3btLG/uf6sQAQBA9kWQCCDHU7Cn0E2BmyrUVMH32muv+asEtfi+qs1UQSiqIlTF4ttvv+3Cv5RSwKfH8SoQVe2iKjEFiaqA0eMpTGvfvr27XsGlKu8SU7BgQdduhXyBi2+rbQrCNHXW2wBAFXUKuX788Ud/JWViv1Bruq2o2lH3UWhXr149F/ZpLT4v6FLQ9sorr7igT32kabTa/MCjkFDX6/n0+tRWj9ag7NChg/tefa41/BQEetWPuq+q89566y33+KqwVMWhqkGlWrVq/sdS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8+b5Nm/e7Pvhhx98F110ka906dK+PXv2uOu7devm69+/v//2uk3evHl9w4cP961du9Y3cOBAV+L766+/8r6ksk+fffZZX758+XyffPKJ788///SfDh06RJ+m4ViNj6nNaf/537Ztm69IkSK+Xr16+datW+f78ssv3bIGQ4cO5VhNZZ/qM1R9OnHiRN/vv//u++abb3w1a9b0XXfddfRpgKVLl7r/e55++mnfhg0bfOPHj/dFRkb6PvzwQ/9t1K/qX4/6U7fp16+f+/9Ky3DkyZPHN3PmTPoWyGIYj2Z+nzIeDU2/xsd4NO19yng0NMcqY9LkMR4NLYLEMHL99df7ypcv74KsihUruvMbN270X9+mTRv3H16gjz/+2FenTh13n4YNG7o1p5D6Pq1atapbsyv+SR/mSNuxGoiBW/r8/C9cuNDXvHlzX/78+X01atRwwU7gmok5XbB9euLECd+gQYNceFigQAG3PuK9997r1rFBXF988YWvUaNG7tirV6+eb/To0XGuV7+qf+Ov93PWWWe590PH67hx4+hWIAtiPJr5fcp4NHTHaiDGo+nTp4xH0/9YZUyaMoxHQyeX/gl11SMAAAAAAACA8MYaiQAAAAAAAACSRZAIAAAAAAAAIFkEiQAAAAAAAACSRZAIAAAAAAAAIFkEiQAAAAAAAAAIEgEAAAAAAACkHRWJAAAAAAAAAJJFkAgAAAAAAAAgWQSJAHKE0aNHW+XKlS137tz28ssv26BBg+yss86ycNW2bVvr27dvZjcDAAAAKcR4FEB2QJAIIM1uu+0269KlS4b35LvvvmvFixdP9nYHDx60Xr162aOPPmo7duywu+++OyTtCfdwEgAAIFwxHv0X41EAoZY35M8AAJls27ZtduLECbv88sutfPnymd0cAAAA5DCMRwFkF1QkAgjJtNvevXvbI488YiVLlrRy5cq5v44GypUrl40aNcouvfRSK1iwoNWoUcM++eQT//Xz5s1zt/n777/9ly1fvtxdtmXLFnf97bffbgcOHHCX6RT/ObyqxTPOOMN9r+fw7h9fbGysDR482CpVqmT58+d3lYUzZ86McxtVNNapU8ciIyPdYw0YMMAFlN7zPPXUU7ZixQp/e3RZfN98840VKFAgzuuSPn362IUXXui+/+uvv+zGG2+0ihUruudS+ydOnJhkn+v5PvvssziXqVozsA3bt2+36667zl2u9+XKK69MsC8AAADCHeNRxqMAQoMgEUBIvPfee1aoUCFbsmSJPf/88y6kmzVrVpzbKIi75pprXPh288032w033GBr165N0eO3atXKrXVYtGhR+/PPP93p4YcfPu12119/vc2ePdt9v3TpUnc7rZUY38iRI+3FF1+04cOH28qVK61jx47WuXNn27Bhg/82RYoUccHcmjVr3O3HjBljI0aM8D/PQw89ZA0bNvS3R5fF1759exfkTZkyxX/ZqVOnbNKkSa4P5NixY9a0aVObPn26rVq1yk3F7tatm2t/ainw1GvSa1iwYIH98MMPVrhwYbvkkkvs+PHjqX5cAACArIrxKONRAOmPIBFASDRu3NgGDhxotWvXtltvvdWaNWtmc+bMiXObrl272p133umq/IYMGeJu8+qrr6bo8fPly2fFihVzlXiqeNRJwVh8qnYsVaqU+75MmTLudnny5DntdgoQVXGoMLNu3br23HPPuapEhZWeJ554wgWY1apVs06dOrng8uOPP/Y/j54/b968/vbosvj03HqOCRMm+C9Tv6hCUaGqqBJRj63nV+Xj/fff7wI/77lSQ0Glqi7Hjh3rKhzr169v48aNc9NsVN0JAACQ3TAeZTwKIP2xRiKAkA3cAmltwj179sS5rGXLlqed1/TljKbNWHbu3GnnnXdenMt1XtWSgWHcK6+8Yps2bbLDhw/byZMnXUVksFR52KJFC/ecFSpUsPHjx7v1G72NY1ShOGzYMBccanMYVQz+888/bppzaul1bNy40VUkBlL1o14PAABAdsN4NHGMRwGkFkEigJCIiIiIc16Vg6qIS6ncuf8tmPb5fP7LvPUIM8OiRYvcgEvrIGqKsKohP/roIzcdOljnnHOO1axZ092/Z8+eNnXq1DhrGb7wwgtu6rSqIVU9qCniffv2TXIKsvo3sK/i95eCT02XVmgZnyo1AQAAshvGo4ljPAogtQgSAWSaxYsXu2nPgefPPvvsOOGW1hosUaKE+z5+taKmN6t6L61UVajKQK0b2KZNG//lOn/uuee67xcuXGhVq1a1xx9/3H/91q1bU90ehZIK9bS5i0JTVSQGPq82QrnlllvceQWw69evtwYNGiT6eOov9ZVHazvGxMT4zzdp0sRVVEZFRaWqihIAACA7YjzKeBRAcFgjEUCmmTx5sr3zzjsuJNN6itpMpFevXu66WrVquU1RtBOzQjFtPBK/+k9rFarSTmsM7tu3L05wFqx+/fq5dREVtq1bt8769+/vgkvtpixa61HrCaqKUFOBNcVZlYTx27N582Z3P7VH05GTChKXLVtmTz/9tF177bVup2iPnksb0yi81OYz99xzj+3evTvJ9mvH59dee81++eUX++mnn6xHjx5x/gqv5ytdurQLKLXZitqptRG1u/Yff/yR6n4DAAAIZ4xHGY8CCA5BIoBMo2nCCua0fs37779vEydO9FfdKQTT+d9++81dr5Bv6NChce6vjU8UmGl3ZFXkaXfo1FKg9uCDD7qdlzWdeObMmTZt2jQX6ol2cH7ggQdc0KlNUBTyadfpQNosRZuitGvXzrVH7U+MglJVO2qHaG+35sBNXVRBqCnUbdu2dRu3dOnSJcn2K2RV8Nq6dWu76aab3GYtgWsq6vv58+dblSpV7Oqrr3abrdxxxx1ujUQqFAEAQE7FeJTxKIDg5PLFX1QLADKA1vRTRV9yARkAAAAQCoxHASB4VCQCAAAAAAAASBZBIgAAAAAAAIBkMbUZAAAAAAAAQLKoSAQAAAAAAACQLIJEAAAAAAAAAMkiSAQAAAAAAACQLIJEAAAAAAAAAMkiSAQAAAAAAACQLIJEAAAAAAAAAMkiSAQAAAAAAACQLIJEAAAAAAAAAJac/wND82ak5scKcwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(1, 2, figsize=(16, 5))\n", "\n", "for rnd, ax in zip((RoundMode.StochasticFastest, RoundMode.StochasticFast), axs):\n", " ax.plot(vs, vs, label=\"True value\", color=\"k\")\n", " ax.plot(vs, rn, label=f\"Round to nearest, err={err_rn:.2f}\", color=\"gray\")\n", "\n", " # Stochastic rounding\n", " srnumbits = 2\n", " nsamples = 5_000\n", " srbits = np.random.randint(0, 2**srnumbits, (nsamples, len(vs)))\n", "\n", " rvs = round_ndarray(\n", " fi, vs[np.newaxis, :], rnd, sat=False, srbits=srbits, srnumbits=srnumbits\n", " )\n", " rvmean = rvs.mean(axis=0)\n", " err = np.abs(rvmean - vs).mean()\n", " bias = (rvmean - vs).mean()\n", "\n", " label = f\"{rnd}, {srnumbits} bits, err={err:.2f}, {bias=:.3f}\"\n", " lollipops(ax, vs, rvmean, key=rnd, label=label)\n", "\n", " ax.set_title(longstr(rnd))\n", " ax.set_xlabel(\"Input float value\")\n", " ax.set_ylabel(f\"Average of rounded values, {nsamples} samples\")\n", " ax.set_yticks(np.unique(rn))\n", " ax.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Good news. `SRFast` seems to have fixed things...\n", "What could be wrong? Why is that not the default?\n", "\n", "First, though, let's just squint at the rounding profiles for SRFast:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0AAAAEuCAYAAACnAnJBAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAacxJREFUeJztnQd8VFX6/l9IgdB77713RMACoiKLiKuosDYUBSsgFtS/UuSn2DvKWhYQC4qLoqsIyoK6CCihhtB77yWUEEjm/3ne5N7MTGaSmWQyc2bm+X4+Q5I7l9vPuec573ueU8ThcDiEEEIIIYQQQqKAoqE+AEIIIYQQQggJFhRAhBBCCCGEkKiBAogQQgghhBASNVAAEUIIIYQQQqIGCiBCCCGEEEJI1EABRAghhBBCCIkaKIAIIYQQQgghUQMFECGEEEIIISRqoAAihBBCCCGERA0UQIQQQgghhJCogQKIEEIIIUGnbNmysmfPHo/fnTt3TqpWrSonT54M+nERQiK/zFIAEUIIISSo7Ny5U3/WrFnT4/fFihWTAwcOSJkyZcThcEipUqXk4MGDhXY877//vnTo0EHi4uJk3LhxhbYfQsKVnRFWZimACCGEEBJUkpKSpFmzZj6tu23bNilRooRUqVIlX/saPHiwTJ06Ndd1qlevro2oG2+8MV/7ICTSSYqwMht1AggXq0iRIi7LcJGxbPv27RLp/PXXX9KtWzcpWbKknvPKlSs9nr/p18TTeeSXUJ6r6dc5EGXt8OHDYgKRfK39rfei+VqQ4PHaa6/JwIED5fbbb9fUmRYtWsiWLVvsxhR6kv/xj3/odxdffLHs2LHD/r9vvfWWDBkyRNatW6f/79ixY9qj3LlzZ1m/fr1ceeWVUqFCBSlfvrwMHz68wMd6/fXXy3XXXSflypUTE3j55Ze1sZmRkRHqQzGKU6dOSdGiReWNN96QcGby5MlSp04dTRszideiqMz6LYCsF6f1iY2N1QsCteYtL5CYwfnz5+Wmm26So0ePauUxffp0qVu3roQbkXIeoeKPP/7QBvHx48cl0ojkc4sG1qxZIwMGDNDyXLx4cX23XHXVVfLOO+/k+x3kvr7z58knnzT2Gbz//vuladOmua7z3nvv6Xl06dJFgtn59NBDD0nLli21AwqNuJtvvlk2btzo8X7iemB91NetWrWSf/3rX3ZjatGiRfodOknq168vY8eOtf/v6tWrpU2bNtK8eXNdjuuBxi/2f+utt8rQoUPlyJEj2gC78847g3b+L774oj6bhQnGULz00ksyevRobezn59oXFrgvuP4oc/Hx8VKtWjW55JJLZPz48fY6c+fOdSlnSFFq1KiRlou0tLQc23RfHx+kUV100UXy7bffuqyL5wbpVXg2LPD3c889J7///ruEGjyjeF6vueYabezjXDxFMlBf4Vr885//LPRjivYy641YySd42HDyqampsmTJEr3B//vf//QCFXblEGigdKF4kb8YyUDF48H78MMP5Z577gnb8/d2Hvkl3M6/oKByw8sKFbApvZ3BOLdou8+5YeK1wL3r2bOnvpzvvfdebVjt2rVL3y/oWXz44YcL9A6y1ncGL3dTyxc6evLqHf7ss8+0Efrnn3/K5s2btZFZ2KBhjkYQOqHQ2Nm/f7+8++67mouP++B8TdGYQqPXEmiNGzfWxirAfXr22Wc1km89k+6Nqdtuu83+/YorrnB5B6DxiOgIGsodO3aUYHHhwoVC77VHgxP7GTRoUL6vfWEwa9YsPSaU0WHDhkmNGjV0XMgvv/win376qX3/Vq1apT9ff/11qVy5spw5c0Zmzpyp5QLXbuLEiS7btdZ/++23NTqA+4qyj79xrniOrNQriKKzZ8+61F1oyGPfvqZnFSYQBqhrcI3atm0rCxcu9Lge6iiIAFwj1G3umUmBJNrLrFccfjJlyhRcCcdff/3lsnz06NG6/Msvv3SYzNixY/U4I4FTp075tf6vv/6q5z5z5kyf7/O2bdscpuHPeZhOKK7zK6+8EpR9WmXt0KFDjkg7t0CUx2ASDvXe3/72N0flypUdx44dy/HdgQMH8v0O8ra+6c/gkCFDHHXr1vX6/datW3U/zz33nCMuLs4xbtw4n7Z79OhRx7///W+v33/++ee5PsuLFi1ynDt3zmXZxo0bHcWKFXPceuut9rILFy44ihcv7ti7d6+9rH///o5p06Y50tPT9bs9e/bY302dOtXRu3dv/R3flyhRwnH48GH9u0WLFo4lS5bY6/7444+O7t27O6pWrep4/PHHHefPn89xnH379nWULVtWP7g+CQkJ9t8TJ070en7Dhg3T8uKNCRMm+FWWLr/8csedd97p8Ic2bdo4brvttnxf+8K47/j/uHa47u7HAJzvJY4F9xfP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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(8, 3))\n", "ax.plot(vs, vs, label=f\"input $x$\", color=\"gray\")\n", "\n", "rnd = RoundMode.StochasticFast\n", "srnumbits = 2\n", "for srbits in range(2**srnumbits):\n", " r = round_ndarray(\n", " fi,\n", " vs,\n", " rnd,\n", " sat=False,\n", " srbits=np.full(vs.shape, srbits),\n", " srnumbits=srnumbits,\n", " )\n", " ax.plot(vs, r, label=f\"SRBits=0b{srbits:02b}\")\n", "ax.set_xlim(4.75, 6.25)\n", "ax.set_xticks(np.arange(5, 6.1, step=0.25))\n", "ax.set_yticks([5, 6])\n", "# location se\n", "ax.legend()\n", "ax.set_title(f\"Rounding profiles of simple stochastic rounding: {longstr(rnd)}\")\n", "None" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## Case 2: Finite-precision inputs and limited-precision random variables\n", "\n", "The answer is that we are still modelling the inputs `v` as being infinite precision (well, they are float64 here, but that's pretty much infinite precision).\n", "\n", "If we first assume that they are available in some finite precision, \n", "still larger than that to which we are effectively rounding, then we obtain another, relatively small, bias.\n", "\n", "To look at this experimentally, let's round from bfloat16 (precision = 8) to a P=3 format, using only 3 bits of randomness." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "nunique= 32\n", "Q,P,D,K=(8, 3, 5, 3) note P+K=6 != Q=8\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABa0AAAHbCAYAAADI9LZpAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAA6vVJREFUeJzs3Ql4XGX1+PEz2Zc2bdM2XdLSlibQJW260bIJiqyChcryZ1EUAS2ism8qgoJs/hBEhbKDCoqyCLIpKItsZelCQ4HuK2nTNk2TZk/m/p/z3rkzk2SSzCSzz/fzPLe5c+d25mZmMue+577veV2WZVkCAAAAAAAAAEAcSIv1AQAAAAAAAAAA4CBpDQAAAAAAAACIGyStAQAAAAAAAABxg6Q1AAAAAAAAACBukLQGAAAAAAAAAMQNktYAAAAAAAAAgLhB0hoAAAAAAAAAEDdIWgMAAAAAAAAA4gZJawAAAAAAAABA3CBpDQAAAAAAAACIGyStAQAAAAAAAD+DBg2SrVu3BnxNmpubZcSIEVJbW8trhl4/M3xe+oakNZDkCLQI12eGQAugv/h+ARILf7MAUtWmTZvMz+Li4oD3Z2dny/bt26WgoEAsy5IBAwZIVVVVlI8SifKZ8f+8KD4zwSFpDSQxAi3C+ZnhxAxAsny/3HPPPTJr1izJzMyU66+/PmLPAySyeGp88zcLINoqKipk0qRJQe27fv16ycvLk6KioogfF+IXn5nwI2kNJDG+NBGpzwwnZgDi9fvlO9/5jjzyyCM97jNq1CiTrD755JP79BxAKojWeSR/s0Biu+2228x3hdvtlkRz++23y+mnny7f+ta3zMiSKVOmyNq1a73fgXrR7swzzzT3HXjggbJx40bv//3tb38r5557rnz66afm/+3evdtcvDvggAPM/Z999pkceeSRUlhYKEOGDJEf//jHZvuiRYtkn332MaNYU8nevXslLS1N7rjjDklkff3MOJ8XFegz093nJdWRtAYSXKQCLV+aqRdkgw20oZ6YAUgNifT9ctJJJ8n8+fNl8ODBEi8SudEfSckSf+M1SZEoje94/JtFYluxYoWccsopMm7cOMnJyTGf9aOOOkp+97vfeffRC6Aul8u7ZGRkmP30Qkt3dY6D9a9//avDY+vIn5KSEnNBtaWlpcf9V65c2eX+r3/96zJmzJgu+//5z3+WzZs3d3iunpZ169YFPL7Oyx//+Eezn9ZzvvXWW+Wqq64y39WB3H333eb/zJs3T6Lhgw8+kB/+8IcydepUyc/PN9+9p512mqxatSrg5+Cdd94x+1dXV0tZWZk89NBD3u/At99+29y3c+dOmTBhglx33XXe//vxxx/L9OnTZfLkyWb7BRdcYGKWPr8666yz5Hvf+57s2rXLfHd++9vfNtv186Pv8b333huV18M5Vj0e/fxmZWXJyJEj5dBDD5Vf/OIXff5cBvqM6OibuXPnyj/+8Y8ux6Cvp47K0ddM6fovf/lL+d///iexFo3PjPN5UYE+M919XlIdSesUCJ6d9/dfrr766rD/DvoHrF9qNTU1YX/scD+Hfknsv//+Pe4T7SAbL4E2mC/NW265xXxO4yXQ9ufkr7dA2znIJmqg7enzEmygDfXEDOgJcS/4eBTvMSkZv1+iFee6a/SHcj4QKcTf7ulnVD+vxx57rEnO6t9md738o5mkoPEN9Exj1Zw5c2T58uVy/vnny+9//3s577zzzPevXpDpTM/3//SnP5mLT8cdd5xJBB9++OHS1NTU55dan1v95je/MY/9hz/8wcRFbdv4t9c676/H+Pzzzwe837+d4uyv27Scjz6Hs9x3333mvq985Ssdtuvvte+++3b4/3fddVeHfZxFXwelcb6trU3OOOOMbn/Xxx57zLTf3n//fVmzZo1EmsbTp556Sr761a+a91PPH958801TFkzPRTqfu2hbUc+r0tPTpbS01LTxlO577bXXysEHH2zalXpx75NPPvH+X/8kpK5Pmzatw2PrBUD93teL0drGnD17ttmu5xV6HqPvvfNckfT000+bi4n6+n//+98355L6muhx6Xve189l58/Io48+as5j9Dzt1FNPNRcv/Wkbu7GxUY444ghzW89l9DErKysl1qLxmfH/vAT6zHT3eUl5FuLG22+/bWVlZVklJSXWDTfcYN1///3Wz3/+c+voo4+2Jk6c6N3v4Ycf1r8I65e//KX1pz/9yex37rnnWunp6Wa/xsbGDo/beX//ZenSpWH/PX7961+b51u/fn3YHzvcz6Gv27hx43rc5+CDDzbviz7f6tWrrWg4+eSTrZEjR1o/+tGPzPurn4cRI0ZY+fn51ooVKzrsO2vWLOvBBx/03v7JT35iXXPNNWZ95syZ1u9+9zvvfS+88II1Z84c721d/+9//2vWTz/9dOu+++7z3jdo0CDzGWlra+v2OPW47NxtZD311FPev41f/OIX5jW59tprrYMOOshsc9x6663meH7zm9+YY7/33nutI4880my7+uqruzyus/9dd91l9n/00UetG2+80SoqKrIyMjKsTz/91Ltve3u7+dtyu93ebZ999pn5/0888YQVa8F+Znr6vPT2menp8xLsZwbwR9wLLR7Fe0yKl++Xb3/72+bcJxjf//73reuuuy7mce6OO+6wCgoKupzDhXI+EAnE357peah+PvbZZx/ry1/+slnv6bN35ZVXmr9z/3OJRD2P9P+b7et5ZCT+ZoFgfO1rX7OGDx9u7d69u8t927dv79KO/uCDDzrsc9VVV/W7DXDWWWdZOTk5Hf5Gmpubzd/uhAkTAu6vceK4446zDj300A73VVdXd2nv6P56vtDS0tLlsfT30f3/7//+r8fj07/j3r6vpk+fbn3zm9/s9v5169Z5cxGZmZnW9ddf3+PjOb+Pxp/uPP7449bevXt7PL/U19LfqlWrrOzsbPN7OfS11/fgiy++8G478cQTTZtQ235639atW733PfLII9Yxxxxj1vX+vLw8a+fOneb2lClTrPfee6/Dc7744ovWIYccYr5/r7jiCqu1tdV734cffmhel//85z9WKA4//HDznRksfS31fdTj6PyaKP/fL9TPpe47ePDgLo+5aNEi87v95S9/6fHYHnvssaiez/Yk0p+Zzp+XQJ+Znj4vqYykdQoEz+72j5RkSlr3JcgmS6AN5kuzL435SAbavpz8pVKg7enzokIJtKGemAGBEPdCS1rHc0yK9ffL8ccfb2KFLvra5Obmem/ffPPNUU1ahxrnemr0B3s+EO73PFXjb6jvXVNTk1VZWdkhCdRT8rWvSYpkbHxH6m8WCMb+++9vLjT1prt29PPPP2+233TTTV3+j3Z62bhxY6+PXVZWZs2ePbvLdr2QVFhYGHB//Zv6wx/+YDqr+f/9vfbaa+Z49Lvdf3+NLYHohSrd/1//+lePx9fba+Scl+h3Q09xVI9327Zt5ryvtLTU6o12ItL/8/TTT3e574EHHjDPqa9DqPS11cW/A5J2VvKnMUs79n3++efmefyT/ieddJJ15513mnW9f9SoUWZdv2/1e6y7uLphwwZzcbPz663v849//OOIxqm//e1v5vd46KGH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Nx+rHCInapvuF14rEpZukeosAHuiVatWMn36dElLS9NjuqHLHCpB33rrLR6FPqaU0mPoRQTIMYt1xbGRw2bM+NTUVImKivLoszDTbevWraV379664nnx4sXy1FNP6QppTJJjD4ZNqF69ugwePFiKFCkiP/74ozz++ON6ZtwHHnjAXLGNFquNGjXSs+jiOL733ntly5YtUrx48UxsPZEJ47UbDh0XSbl887HCnxvniOQDImEiksaWW/6K+YLsw3wB8wXkXYzZLhw4KpJi0VgJZeoCN+5fumwqcxticvLwDDHMD2Qf5geYH8gyyk0rVqxQTz31lMqbN6+qV6+eev/999WJEydURESE2rJli8oO586dQzFT/892O/YqtfQfpf7eoNT6f5Vau12p2cp0w308h9uG7Uqdzvr1vXz5stq6dav+n2mXLim1cqXpv491795dtW3b1uq5hx56SNWqVcv8+MqVK+q5555ThQsXVtHR0apx48Zq1apV5tenT5+u8uXLZ/UZ8+bN08eOYfjw4apGjRrqiy++UKVLl1axsbGqU6dO6vz58+ZlLl68qLp166Zy586tihYtqsaNG6eSkpJUv3797K47vvdGVYj5hudg3759qk2bNvqz8Jvq2LGjOnr0qMN02LNnj37/3LlzVdOmTVWuXLlU9erV1fLly62WW7ZsmWrSpInKmTOnKlGihE4XrLcB21enTh2VJ08eVaRIEdW5c2d17Ngx8+tLlizR37Nw4UJVu3ZtFRkZqZ+7fv26Gj16tCpTpoz+bHz3nDlzzO87ffq06tKliypUqJB+PTExUU2bNk2/ZpsGSDN3Yd8OGDBAJSQkqJiYGH3uwfrY7tvvv/9eValSRYWHh+u0wj4cOXKk3l9IXxxHnho0aJCqWrWq1XM4Jlq2bOnR59x///2qR48eDl+/du2aXsfPP//c43Uk358j/SrOBHC8zq60TLt+Xc3997C+4b526bIpXlvc0n5ffXO531fffA33066pYMR8AfMFwHyB+5gv8P9zF2N2IMfrNDV712x9w32zv9aZ4vGh40qdOqvST55RaSdP6hvu4zl9O39RqfT0LFvfYML8APMDwPyA+5gfyNp47fbwIA0aNNDd2o8cOSJPP/207hqckJAg6enp8uuvv+oZjkOa0Y04IV6kRiWR2yvefA338Rxu1SuKFIiVgJWSIoLhLurX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OrDL18Ay9q0CZ+8FiYsXL+qCDw5GezDGLyYftIRJIvB8MG83jB07Vk+KsWjRIj1WbjBwtt2VK1eWTZs2yfr16823Nm3aSLNmzfR9THIXzPsckxEiY2kU+gEz/WL5QK2wdme7MV67beA0Ku7R+yVQYP+hksYS9l/p0qUdvidYz28UnEI1XgNjdmjFbMZrxutQOr9RcArVmM14zXhtieXrwC5fA8vYdthpfU1eNGDAALV06VK1Z88e9ddff6kWLVqoQoUKqePHj+vXu3XrpoYMGWJeHstgHJ5x48apbdu2qeHDh+suAps2bQrq7X7zzTdVVFSU+uabb9SRI0fMtwsXLqhg3m5bgdzV2NNt379/v8qbN6969tln1fbt29WPP/6ou+i98cYbKpi3G79pbPdXX32ldu/erX755RdVvnx59cgjj6hAsmrVKn2uGjVqlNq5c6eaMWOGiomJUf/973/Ny2C7sf0GbC+WGThwoD6/oVtmeHi4HouQKLuFarwGxuzQitmM14zXjNcU6EI1ZjNeM16zfB285WtgGftWrLT2sU6dOqlixYrpCllM3oPHycnJ5teTkpJ0occSJpWoWLGifk/VqlX1RGXBvt2lS5fWA+bb3nACCvb9HQwF4Ixu+/Lly1X9+vX1hAOYeBMVoJZjXAfjdqelpenJJhFIMRESxtt65pln9Jh0geaHH35Q1apV0/uvcuXK6pNPPrF6HduN7bcd07tmzZo6vbDPp0+fnsVrTWRfqMZrYMwOrZjNeM14zXhNgS5UYzbjNeM1y9fBXb4GlrGtheGPvRbYRERERERERERERERZjWNaExEREREREREREZHfYKU1EREREREREREREfkNVloTERERERERERERkd9gpTURERERERERERER+Q1WWhMRERERERERERGR32ClNRERERERERERERH5DVZaExEREREREREREZHfYKU1EREREREREREREfkNVloTBaBPPvlESpYsKTly5JCJEyfKiBEjpGbNmhKomjZtKi+88EJ2rwYREZHXMWYTERH5P8ZrIv/DSmsiG0888YS0a9cuy9Pls88+k/z587tc7vz58/Lss8/K4MGD5dChQ9KrVy+frE+gV4QTEVHwY8w2YcwmIiJ/xnhtwnhN5JkID5cnomy2f/9+SUtLk9atW0uxYsWye3WIiIjIAcZsIiIi/8d4TeSf2NKayI2hK55//nkZNGiQxMXFSdGiRfUVUkthYWHy0UcfyX333Se5cuWScuXKyTfffGN+fenSpXqZs2fPmp9bv369fm7v3r369R49esi5c+f0c7jZfofRGvv222/X9/Edxvttpaeny8iRI6VEiRISHR2tW0wvWrTIahm01K5YsaLExMTozxo2bJiuDDe+57XXXpMNGzaY1wfP2frll18kZ86cVtsF/fr1k+bNm+v7p06dks6dO0vx4sX1d2H9v/rqK6dpju/77rvvrJ5DK3TLdThw4IA88sgj+nnsl7Zt29pNCyIiCh2M2YzZRETk/xivGa+J3MFKayI3fP7555I7d25ZuXKljB07VlcI//rrr1bLoNK3Q4cOuqL3sccek0cffVS2bdvmVvo2atRIj00dGxsrR44c0beXXnrpluU6deokv/32m76/atUqvRzGtrb17rvvyvjx42XcuHGyceNGadmypbRp00Z27txpXiZv3ry6Enjr1q16+SlTpsiECRPM3zNgwACpWrWqeX3wnK27775bVxrPnTvX/Nz169fl66+/1mkAV65ckTp16siCBQtk8+bNejiTbt266fXPKFSuY5uwDcuWLZO//vpL8uTJI61atZLU1NQMfy4REQU+xmzGbCIi8n+M14zXRC4pIrLSvXt31bZtW/PjpKQk1aRJE6tl6tatqwYPHmx+jJ9S7969rZapX7++6tOnj76/ZMkSvcyZM2fMr69bt04/t2fPHv14+vTpKl++fC73hu37YPjw4apGjRrmxwkJCWrUqFG3rPMzzzzj8HPffvttVadOHYef6Ui/fv1U8+bNzY9//vlnFR0dbbWttlq3bq0GDBhglcb4HAO2b968eVbvQdogjeDLL79UlSpVUunp6ebXr169qnLlyqW/n4iIQgNjtgljNhER+TPGaxPGayLPcExrIjdUr17d6jHGkj5+/LjVcw0bNrzlMYYAyWqYqPHw4cPSuHFjq+fxGK3ADWgN/d5778muXbvk4sWLcu3aNd3S21NoUd2gQQP9nQkJCTJjxgw93rYxqSRaXo8ePVpmz56tJ45ES+irV6/qoUIyCtuRnJysW1pbQqtubA8REYUuxmzHGLOJiMhfMF47xnhNZMJKayI3REZG3jLmMsaNdleOHKaReEyNiE2M8aOzw4oVK3QgxLjVGGYjX758MmvWLD2kiKfq1q0r5cuX1+/v06ePzJs3z2rs6bffflsPP4LhTzCeNYZZeeGFF5wO44H0tUwr2/RCJTuGHEEFua3ChQt7vA1ERBQ8GLMdY8wmIiJ/wXjtGOM1kQkrrYm85O+//5bHH3/c6nGtWrWsKlIxNnSBAgX0fdtW2FFRUbpVcmahtTRaPGOc56SkJPPzeFyvXj19f/ny5VK6dGkZOnSo+fV9+/ZleH1QAY4KZEz8iAp6tLS2/F5Mkti1a1f9GJX9O3bskNtuu83h5yG9kFYGjMWdkpJifly7dm3dUjw+Pj5DrcOJiCi0MWYzZhMRkf9jvGa8ptDGiRiJvGTOnDkybdo0XSE7fPhwPdHgs88+q19LTEzUEyaOGDFCV8BiUkLbVs1lypTRLYgXL14sJ0+etKqk9dTAgQPlrbfe0hW727dvlyFDhuhK8n79+unXK1SoIPv379etozGcBoYJQQtp2/XZs2ePfh/WB0N6OKu0Xrt2rYwaNUoefvhhiY6ONr+G78Kklagox8SUTz/9tBw7dszp+jdv3lw++OADWbdunaxevVp69+5tdSUe31eoUCFdGY6JGLGeS5culeeff14OHjyY4XQjIqLQwJjNmE1ERP6P8ZrxmkIbK62JvARDbaASGGNzffHFF/LVV1+ZWxOjwhWP//33X/06KpTfeOMNq/c3atRIV8526tRJtzQeO3ZshtcFlbcvvviiDBgwQA/JsWjRIpk/f76uQIY2bdpI//79daV6zZo1dYXysGHDrD6jQ4cO0qpVK2nWrJleH6y/I6iURyvujRs36gplS6+88opuGY1hSJo2bSpFixaVdu3aOV1/VOijkv/OO++ULl26yEsvvWQ1Bjbu//HHH1KqVCl56KGHpEqVKtKzZ089pjVbXhMRkSuM2YzZRETk/xivGa8ptIVhNsbsXgmiQIcxmNFS2VVlLBEREWUvxmwiIiL/x3hNRGxpTURERERERERERER+g5XWREREREREREREROQ3ODwIEREREREREREREfkNtrQmIiIiIiIiIiIiIr/BSmsiIiIiIiIiIiIi8hustCYiIiIiIiIiIiIiv8FKayIiIiIiIiIiIiLyG6y0JiIiIiIiIiIiIiK/wUprIiIiIiIiIiIiIvIbrLQmIiIiIiIiIiIiIr/BSmsiIiIiIiIiIiIiEn/x/7cicovZncDPAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from gfloat.formats import (\n", " format_info_binary16,\n", " format_info_bfloat16,\n", " format_info_p3109,\n", " format_info_ocp_e4m3,\n", ")\n", "\n", "fi_hi = format_info_bfloat16\n", "fi = format_info_ocp_e5m2 # format_info_p3109(8, 5)\n", "\n", "vs_hi_all = round_ndarray(fi_hi, vs, RoundMode.TiesToEven)\n", "vs_hi = np.unique(vs_hi_all)\n", "print(\"nunique=\", np.sum((vs_hi >= 5) & (vs_hi < 6)))\n", "\n", "Q = fi_hi.precision\n", "P = fi.precision\n", "D = Q - P\n", "K = 3\n", "print(f\"{Q,P,D,K=} note {P+K=} != {Q=}\")\n", "\n", "fig, axes = plt.subplots(1, 3, figsize=(18, 5))\n", "\n", "for rnd, ax in zip(\n", " (RoundMode.StochasticFastest, RoundMode.StochasticFast, RoundMode.Stochastic), axes\n", "):\n", " ax.plot(\n", " vs, vs_hi_all, label=f\"True value ({fi_hi}, P={fi_hi.precision})\", color=\"pink\"\n", " )\n", " ax.plot(\n", " vs_hi,\n", " round_ndarray(fi, vs_hi, RoundMode.TiesToEven),\n", " label=f\"Round to nearest, err={err_rn:.2f}\",\n", " color=\"red\",\n", " markersize=3,\n", " linestyle=\"\",\n", " marker=\".\",\n", " )\n", "\n", " # Stochastic rounding\n", " srnumbits = K\n", " nsamples = 10_000\n", " srbits = np.random.randint(0, 2**srnumbits, (nsamples, len(vs_hi)))\n", "\n", " rvs = round_ndarray(\n", " fi, vs_hi[np.newaxis, :], rnd, sat=False, srbits=srbits, srnumbits=srnumbits\n", " )\n", " rvmean = rvs.mean(axis=0)\n", " err = np.abs(rvmean - vs_hi).mean()\n", " bias = (rvmean - vs_hi).mean()\n", "\n", " label = f\"{rnd}, {srnumbits} bits, {err=:.2f}, {bias=:.3f}\"\n", " lollipops(ax, vs_hi, rvmean, label=label, key=rnd)\n", "\n", " ax.set_xlabel(\"Input float value\")\n", " ax.set_ylabel(f\"Average of rounded values, {nsamples} samples\")\n", " ax.set_yticks(np.unique(rn))\n", " ax.legend()\n", " ax.set_title(f\"{longstr(rnd)}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So... The `SRFast` curve now shows some bias: the dots occur in groups of four, with two above Y=X, and one below.\n", "Averaging this out gives a bias of 0.016, or roughly a half of a bfloat16 ULP (the calculation is simply (2+1+0-1)/4 for each of the group of four) in this range.\n", "\n", "The `SR` curve is now unbiased, but shows a peculiar non-coherence in terms of the widths \n", "of the plateaus. To explain this, recall the \"rounding profiles\" above.\n", "With only three bits of randomness, we can have only eight rounding profiles.\n", "Those profiles must have their steps coinciding with the incoming bfloat16 values,\n", "so in order to be symmetric, the central region must be either three or five units wide,\n", "and the adjacent steps must be five or three wide.\n", "That choice of \"five or three\" depends on whether the implementation rounds to \n", "nearest even or odd before comparing to SRbits.\n", "\n", "Let's plot all the rounding profiles together:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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YO2nz3PocwAAANQkMscAEEM6fVFBQYH88Y9/NGXSmp3VzOk777wjbdu2NaXVldH5iXUKqEcffdSMCU5JSanyObUU++677zaPffTRR8vChQvljTfekPbt2wctN3z4cNNAS7O4zZs3N2OFn376aZOxrlu3rllG5zBW//rXv8zcxPr8p512mskca9ZXM8w67/GZZ55p1lmzZo188MEHZkomnWv5f//7n/z9738300pphlkDZZ26SQNrnfvYT59n+vTp5vfUqaY0I61jsAEAAGpMtXpdAwCqZfLkydbFF19sde3a1apTp46VmppqdezY0brqqquszZs3B03ldMopp5T7GOPGjTPTIb3yyitBUzlVND2STuV0/fXXWy1btrRq1aplDRo0yJo1a5Z13HHHmZvf888/bx177LFW48aNzTRPHTp0sG688UZr9+7dQY93zz33WFlZWVZiYmKZaZ0mTpxoDR482EzFpDf9PXXqqWXLlpmfr1692vz++tjp6elWo0aNrCFDhljTp08Peo6lS5eabdHt1edgWicAAFDTEvSfmgu1AQAAAABwHsYcAwAAAAA8j+AYAAAAAOB5BMcAAAAAAM8jOAYAAAAAeB7BMQAAAADA8wiOAQAAAACelxztPeDz+SQnJ0fq1q0rCQkJnj8AAAAAQLh0Vta8vDzJzMyUxETyXoCjgmMNjFu3bh3tpwUAAABca926ddKqVatYbwbgaFEPjjVj7H8B16tXL9pPjyhUBixdutR83bVrV65gAgAQI3wme0Nubq5JPPnPsQE4KDj2l1JrYExw7M4P4jp16piv9fhS3gMAQGzwmewtDFcEqo+BCQAAAAAAzyM4BgAAAAB4HsExAAAAAMDzCI4BAAAAAJ5HcAwAAAAA8DyCYwAAAACA5xEcAwAAAAA8j+AYAAAAAOB5BMcAAAAAAM8jOAYAAAAAeB7BMQAAAADA8wiOAQAAAACeR3AMAAAAAPA8gmMAAAAAgOcRHAMAAAAAPC/Z83sAAAAAUWNZlsybN0/y8/NDWr5WrVoyYMCAiG8XABAcAwAAIGqWLVsmn376acjLN2rUiOAYQFQQHAMAACBq1q1bZ+5btGghWVlZVS5fu3btKGwVABAcAwAAIIo2bNhg7vv37y+9e/dm3wOIG2SOAQAAYEtxcbEsWLBAioqKbO+5nJwccx9K1hgAoongGAAAALbM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8vPzwzpJUk7L/tbM8IhYbwlQs0488UR55ZVXgr7XtGnTSjsNl0eXb9GihcSLffv2SWpqarUfR/dFJJYNl3b690+Z5GTeuJQMIKyyaknkbMvNAo18+ChwLwdWgaxatUomTJggkydPtn3zl/M5ralWTRQHJBIdI6S/F8sEZ7G4+T9zQpWWlmaC2tI3DXS1rLp0ebCWDN93331y8cUXS926dc2QihdeeCHoopleBP7xxx/N15o1Vg0bNjTf1yy18vl8cv/995sspAZ5WoHy3nvvVVlKrNnnSZMmSadOnSQ9PV1GjBgh69atCyxz5513mozmSy+9ZB5bl1H6fnXppZeawFWHgmi1y08//RT0+B9//LEceeSRZh3NfP/xj38M+r39peW6b/V59HfX/abvgVdffXW5y6q1a9fKGWecYaag0+c+++yzZfPmzWW2Wed+13Xr168vo0aNkry8vCr3hZ3H0GP597//3dz05/o73n777UF/K3qMdP+Wps+jz6d0n6revXubZfUxq4PMMYAKT6gTaH/qapRVe4ADg2P/uOHGjRuHle3Rk0M9QfYKxhzDDp3jVQPAWLjllltqJGNankceeUTuueceufXWW01Ae/nll8txxx0nXbp0KVNiPXHiRPnTn/4ky5YtM4GhP9up+2X8+PHy3HPPmUD3q6++kvPPP98Er/pYFSkoKJB7771XXnvtNfP7XXHFFSYI/PbbbwPLrFy50jyvloT7M98jR440z60X9jQwfP7552Xo0KGyfPlyadSokXz66acmGP7Xv/5lHlsvMHz22WflboM+9mOPPSZvv/229OjRQzZt2lQm0PbTiwD+wPjLL7+U/fv3y5VXXmnKomfOnBl0oVKD0k8++cSUoGsA/cADD5jfNVShPIaWz19yySUyd+5c+eGHH+Syyy4z7+NjxowJ6Tl0vf79+8v06dPN717dvzGCYwBl/H7FjsyxJ4JjjrN7ObAhl3/c8MCBA6Vv376x3py49/u7tXOOMRAKDag0gPM76aSTTFVJeXSsqwal6qabbjKB4owZM8oExxqYauCpmjVrFsh07t2712SfNcDS9x7Vvn17+eabb0zQWllwrBccnn76aRkwYEAg2OvWrVsgaFMa2GqA6y9v1sfVn2/ZssVketXDDz9sAkkN7jVA1ABSg+y77ror8FyazS6PZoL1YuKwYcPMeGwNLv3P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NrBM27Ztzfui3jIyMqRnz57y0ksvlZlH17+M3mrVqiU9evSQF154IWi5999/X+65556gx451oKwXRu+44w5p2bKl2e5hw4bJihUrbD/O2rVr5ZRTTjH7qFmzZnLjjTeaeewP3U99+vQx+1qrlMaNGydeReYYQMVTOTHm2NUoq47efn711VclLy8v7MfQ+YbDe3LmLPdOoQ+lPnCPP/3pT7Jv3z7z3tm+fXvZvHmzfPHFF+ZCY2l33323jBkzRgoKCmTChAnma72YeNJJJwUtt2zZMqlXr54UFhbKxx9/bALvDh06yNChQ83PGzVqJPHmoYcekieffNLsA80Q33777eYCweLFiyU9PT2kxygpKTGBsV5c+O6770w10l/+8hdJSUmR++67zyyzZs0as8zf/vY3eeONN8x+vvTSS01Qrs/nNQTHAMoKNMXlZMvNKKuOjh07dpjAWMcL68mYXXoSpFf0qzfPD4Vi7u86H+stgVMu1hUWl8TkuWulJIVUAbNr1y75+uuvTTbzuOOOM9/Lzs6W/v37l1m2bt26JvBTN910kwkoP//88zLBsWZMGzRoYL6++uqrTdCplTn+4Lh0WbV+/dtvv8m1115rbv79pt/7+9//Lt98840J3DW7/J///EdOPvlkqWn6fLott912m5xxxhnme6+99po0b95cJk2aJKNGjQosu3TpUrniiivM76NZ32eeeSaw36ZNm2aC6enTp5t19XfUDLnuqzvvvFNSU1PlueeeM8H3I488Ytbp1q2b+R0fe+wxgmMACJrKiXmOXY2y6ujYsGFDIPur44ajirJqz2SOE3m/Rgg0MO5+x9SY7KvFd4+QjNSq83LaY0FvGgQeddRRptS3Kj6fTz744APZuXOnCfgqCzqnTp1qSo0HDBhQ7jJaYn344YfLZZddZjLRfldeeaUJir/66iupXbu2CTp1Oyuimdjx48dXut35+fnlfl+zuZs2bTKl1H7169c32zxr1qyg4FjLpDWQ7t69uzz66KNy2mmnmfUbN25sltVycw2M/TQbrJnzX375RXr37m2WKf08/mWuueYa8SIyxwDKYsyxt8qqqRAIiZb16cmKXXoCVa3S6JoIjjnGHngdA+6QnJxsxrxqYKpZTa2c0UyoBoS9evUKWlYzoJpd3bt3rxlHq+XRWhJ8qFatWpl7XU4DaS3HPvbYY8t9fn2M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2tK0IZc/C6WNQfTDuvQyWt6lXatLZ6oQv8fY36lYM4hawqmZjKpoOa6OOa7sMRFfx7g0LbtcuHBhYHlex+45xjr13t69e830QFXhdRxb2ql62bJlQd9bvny5qRCoSFWfyampqdK3b9+gZTRDrf/nMxmAJ1lAJa6//npr5syZ1po1a6xvv/3WGjZsmNWkSRNry5Yt5ucXXHCBdfPNNweW12WSk5Othx9+2FqyZIk1duxYKyUlxVq4cGFgmQceeMBq0KCB9eGHH1o///yzdcYZZ1jt2rWzCgsLORYOOMZ6/FJTU6333nvP2rhxY+CWl5dnfq73N9xwgzVr1izzmNOnT7f69OljderUySoqKuIYO+AY33XXXdbUqVOtVatWWfPmzbNGjRplpaenW7/88ktgGV7Hzj7GfoMHD7bOOeecMt/ndRx/5s6daz5f7733XmvFihXWG2+8YWVkZFjjx48PLKPHWI+13+rVq80yN954o/lMfuaZZ6ykpCRrypQpgWXefvttKy0tzRo3bpy1ePFi67LLLjOf0Zs2bYr67wgAsUZwjErpSVPLli1NMJSVlWX+v3LlysDPjzvuOGv06NFB67z77rtW586dzTo9evSwPv3006Cf+3w+6/bbb7eaN29uPpCHDh1qLVu2jCPhkGOcnZ1t6XW1Q296IUQVFBRYw4cPt5o2bWoujOjyY8aM4UTLQcf4mmuusdq0aWOW19fpySefbM2fPz/oMXkdO/+9eunSpea1O23atDKPx+s4Pn388cfWYYcdZj47u3btar3wwgtBP9djrMe6tBkzZlhHHHGE+dto37699corr5R53Keeeirwmu/fv781e/bsiP8uABCPEvSfWGevAQAAAACIJcYcAwAAAAA8j+AYAAAAAOB5BMcAAAAAAM8jOAYAAAAAeB7BMQAAAADA8wiOAQAAAACeR3AMAAAAAPA8gmMAAAAAgOcRHAMAAAAAPI/gGAAAAADgeQTHAAAAAADPIzgGAAAAAHgewTEAAAAAwPMIjgEAAAAAnkdwDAAetHDhQjnrrLMkOztb0tPTJSsrS0444QR56qmnAsu0bdtWEhISArfatWtL//795bXXXovptgMAAERCgmVZVkQeGQAQl7777jsZMmSItGnTRkaPHi0tWrSQdevWyezZs2XVqlWycuXKQHDcsGFDuf76683/N27cKC+99JIs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qr/bF198EfY19e9gP7jgY7Rl4O1jHHTXXXfpcPz666/ri/FoVJlnYWGh7feEt45xkBoASF2IB5fndZw8x3jfvn36BpeTm528jhNLzfAwbty4sK+pm1bRyucjvSerAffUaNfq77IaiI33ZADYj3AMV1Q/xI0bN+o36Y6o1iZVStuWGpAr2AqlBgZRb9Ztl1HlXWrU6rYtVfDuMQ6OVKxaEFUJp2rJsKPKcVWf42jfE946xm2psssVK1aElud1nDzHWE2919DQoKcHssPrOLHUSNVr164N+9q6det0hUAkdu/JmZmZcvjhh4cto1qo1b95TwZgJAuI4tprr7Xeeecda/Pmzdb7779vnXjiiVZhYaFVWVmpn7/ooousG264IbS8WiY9Pd266667rE8//dS69dZbrYyMDGvFihWhZe68806roKDAevHFF63ly5dbZ555pjV06FCrrq6OY+GDY6yOX2ZmpvXPf/7T2r59e+ijurpaP68eZ86caS1cuFB/z/nz51uHHXaYNXLkSKu+vp5j7INjfNttt1mvvfaatXHjRuujjz6yzj33XCs7O9tatWpVaBlex/4+xkHHHnus9f3vf7/d13kde8/ixYv1++vvf/97a/369dacOXOs3Nxca/bs2aFl1DFWxzpo06ZNepnrrrtOvyc/8MADVlpamvXqq6+Glpk7d66VlZVlPfXUU9bq1autH/3oR/o9uqKiIu6/IwAkGuEYUamLpqKiIh2GSkpK9L83bNgQev7444+3pk+fHrbO3//+d2vUqFF6nfHjx1svv/xy2POBQMC65ZZbrP79++s35GnTpllr167lSPjkGA8ePNhS99UO/FA3QpTa2lrrpJNOsvr27atvjKjlL7vsMi60fHSMr776amvQoEF6efU6PfXUU62lS5eGfU9ex/7/W71mzRr92n399dfbfT9ex970n//8x5owYYJ+7xwzZoz1yCOPhD2vjrE61m29/fbb1iGHHKLPjWHDhllPPvlku+973333hV7zkydPthYtWtTtvwsAeFGK+l+iW68BAAAAAEgk+hwDAAAAAIxHOAYAAAAAGI9wDAAAAAAwHuEYAAAAAGA8wjEAAAAAwHiEYwAAAACA8QjHAAAAAADjEY4BAAAAAMYjHAMAAAAAjEc4BgAAAAAYj3AMAAAAABDT/X+h0mW6F2c63QAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axs = plt.subplots(4, 1, figsize=(8, 10))\n", "fig.tight_layout(h_pad=2)\n", "h = 0.7\n", "for rnd, ax in zip(\n", " (\n", " RoundMode.StochasticFastest,\n", " RoundMode.StochasticFast,\n", " RoundMode.Stochastic,\n", " RoundMode.StochasticOdd,\n", " ),\n", " axs,\n", "):\n", " ax.plot(vs, vs_hi_all, label=f\"Finite-precision input\", color=\"gray\")\n", "\n", " srnumbits = 2\n", " for srbits in range(2**srnumbits):\n", " r = round_ndarray(\n", " fi,\n", " vs_hi_all,\n", " rnd,\n", " sat=False,\n", " srbits=np.full(vs_hi_all.shape, srbits),\n", " srnumbits=srnumbits,\n", " )\n", " ax.plot(vs, r, label=f\"SRBits = 0b{srbits:02b}\")\n", " for k in (5, 6, 7):\n", " ax.plot([k, k], [0, 10], color=\"lightgray\", linestyle=\"-\")\n", " ax.set_xlim(4.75, 6.25)\n", " ax.set_ylim(4.75, 6.25)\n", " ax.set_xticks(np.arange(5.0, 6.1, step=0.25))\n", " ax.set_yticks([5, 6])\n", " if ax == axs[0]:\n", " ax.legend(loc=\"center left\", bbox_to_anchor=(1, 0.5))\n", " ax.set_title(f\"{rnd}\")\n", "None" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Conclusion\n", "\n", "Stochastic rounding provides a pretty impressive approximation of higher precision\n", "when casting high-precision values to lower precision. However, it comes at the \n", "cost that the number of random bits used per cast should match the input precision.\n", "The number of random bits can be reduced, but care must be taken to ensure that doing\n", "so does not introduce a bias. Fortunately, mitigations are available, as implemented \n", "in this library. We don't know the details of the various hardware implementations of \n", "SR, but we also know of no description of these biases in the current literature.\n", "\n", "Conversely, it might be that in some use-cases, a bias is advantageous.\n", "For example, adding gradient updates in a stochastic optimizer - it may be that it's \n", "always a good idea to make *some* change, as it can be undone in the reverse direction\n", "on the following iteration. But that is speculation - let's see how people use these\n", "ideas in practice.\n" ] } ], "metadata": { "kernelspec": { "display_name": "awf-gc-gfloat-p3109v3", "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.12.11" } }, "nbformat": 4, "nbformat_minor": 2 }