-
-
Save jstac/e0f5bde81cd59564442ee2406c863f09 to your computer and use it in GitHub Desktop.
jax_dp.ipynb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"id": "view-in-github", | |
"colab_type": "text" | |
}, | |
"source": [ | |
"<a href=\"https://colab.research.google.com/gist/jstac/e0f5bde81cd59564442ee2406c863f09/jax_dp.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "40d2195a", | |
"metadata": { | |
"id": "40d2195a" | |
}, | |
"source": [ | |
"# Dynamic Programming on the GPU: A Tutorial for Economists\n", | |
"\n", | |
"Authors: [Thomas J Sargent](http://www.tomsargent.com/) and [John Stachurski](https://johnstachurski.net/)\n", | |
"\n", | |
"Parallelization on GPUs is one of the major trends of modern scientific computing.\n", | |
"\n", | |
"In this notebook we examine a simple implementation of dynamic programming on\n", | |
"the GPU using Python and the [Google JAX\n", | |
"library](https://jax.readthedocs.io/en/latest/index.html).\n", | |
"\n", | |
"This notebook is intended for readers who are familiar with the basics of dynamic programming and want to learn about the JAX library and working on the GPU.\n", | |
"\n", | |
"The notebook is part of the [QuantEcon](https://quantecon.org) project.\n", | |
"\n", | |
"From our timing on Google Colab with a Tesla P100 GPU, the JAX based Bellman operator is \n", | |
"\n", | |
"* over 3000 times faster than a Numba-based JIT-compiled single-threaded version, and \n", | |
"* almost 1500 times faster than a NumPy-based multithreaded version.\n", | |
"\n", | |
"(The Numba-based version uses a similar compiler to Julia and, for this kind of problem, runs at a similar speed to compiled C and Fortran code.)\n", | |
"\n", | |
"## How to Use this Notebook\n", | |
"\n", | |
"You can run this notebook in Google colab or some other environment that includes a GPU.\n", | |
"\n", | |
"Before you start, please note:\n", | |
"\n", | |
"* You might like to keep a copy of this notebook in its present form to see the timings that we obtain before you run it.\n", | |
"* We have a subscription to Google colab pro, which offers better GPUs. You might like to consider subscribing as well, if you don't have access to a GPU and want to obtain timings similar to ours.\n", | |
"\n", | |
"## A Savings Problem\n", | |
"\n", | |
"To focus on implementation rather than technical details, we will adopt a very\n", | |
"familiar optimal savings problem as our running example. \n", | |
"\n", | |
"* For more details on this problem see, for example, [this QuantEcon\n", | |
"lecture](https://python.quantecon.org/ifp.html).\n", | |
"* For a more elementary discussion of optimal savings see [this discussion of\n", | |
"cake eating](https://python.quantecon.org/cake_eating_problem.html).\n", | |
"\n", | |
"The problem is to maximize the expected discounted sum\n", | |
"\n", | |
"$$\n", | |
" \\mathbb{E} \\sum_{t \\geq 0} \\beta^t u(c_t)\n", | |
"$$\n", | |
"\n", | |
"subject to \n", | |
"\n", | |
"$$\n", | |
" c_t + a_{t+1} \\leq R a_t + y_t, \n", | |
" \\quad c_t \\geq 0\n", | |
" \\quad a_t \\geq 0\n", | |
"$$\n", | |
"\n", | |
"for all $t \\geq 0$, with $a_0$ and $y_0$ given.\n", | |
"\n", | |
"Here \n", | |
"\n", | |
"* $c_t$ is consumption,\n", | |
"* $a_t$ is assets,\n", | |
"* $R$ is the gross risk-free rate of return, and\n", | |
"* $y_t$ is income.\n", | |
"\n", | |
"The income process follows a Markov chain with transition matrix $P$.\n", | |
"\n", | |
"The Bellman equation is\n", | |
"\n", | |
"$$\n", | |
" v(a, y) = u(Ra + y - a') + \\beta \\sum_{y'} v(a', y') P(y, y'),\n", | |
"$$\n", | |
"\n", | |
"where $v$ is the value function.\n", | |
"\n", | |
"The corresponding Bellman operator is \n", | |
"\n", | |
"$$\n", | |
" Tv(a, y) = u(Ra + y - a') + \\beta \\sum_{y'} v(a', y') P(y, y')\n", | |
"$$\n", | |
"\n", | |
"We solve the dynamic program by value function iteration --- that is, by\n", | |
"iterating with $T$.\n", | |
"\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "1c4fdca8", | |
"metadata": { | |
"id": "1c4fdca8" | |
}, | |
"source": [ | |
"The next cell supresses some unnecessary NumPy warnings." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"id": "d9ea81d1", | |
"metadata": { | |
"id": "d9ea81d1" | |
}, | |
"outputs": [], | |
"source": [ | |
"import warnings\n", | |
"warnings.filterwarnings('ignore')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "a07c177e", | |
"metadata": { | |
"id": "a07c177e" | |
}, | |
"source": [ | |
"First we import some libraries." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"!pip install -U quantecon # Install quantecon in case it's missing" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "qpO_8-Ha3F7z", | |
"outputId": "00245cf4-161d-4148-835f-973f99d72e63" | |
}, | |
"id": "qpO_8-Ha3F7z", | |
"execution_count": 2, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"Collecting quantecon\n", | |
" Downloading quantecon-0.5.2-py3-none-any.whl (269 kB)\n", | |
"\u001b[?25l\r\u001b[K |█▏ | 10 kB 29.3 MB/s eta 0:00:01\r\u001b[K |██▍ | 20 kB 18.4 MB/s eta 0:00:01\r\u001b[K |███▋ | 30 kB 14.2 MB/s eta 0:00:01\r\u001b[K |████▉ | 40 kB 13.1 MB/s eta 0:00:01\r\u001b[K |██████ | 51 kB 6.2 MB/s eta 0:00:01\r\u001b[K |███████▎ | 61 kB 7.3 MB/s eta 0:00:01\r\u001b[K |████████▌ | 71 kB 6.7 MB/s eta 0:00:01\r\u001b[K |█████████▊ | 81 kB 7.5 MB/s eta 0:00:01\r\u001b[K |███████████ | 92 kB 8.3 MB/s eta 0:00:01\r\u001b[K |████████████▏ | 102 kB 6.8 MB/s eta 0:00:01\r\u001b[K |█████████████▍ | 112 kB 6.8 MB/s eta 0:00:01\r\u001b[K |██████████████▋ | 122 kB 6.8 MB/s eta 0:00:01\r\u001b[K |███████████████▉ | 133 kB 6.8 MB/s eta 0:00:01\r\u001b[K |█████████████████ | 143 kB 6.8 MB/s eta 0:00:01\r\u001b[K |██████████████████▎ | 153 kB 6.8 MB/s eta 0:00:01\r\u001b[K |███████████████████▌ | 163 kB 6.8 MB/s eta 0:00:01\r\u001b[K |████████████████████▊ | 174 kB 6.8 MB/s eta 0:00:01\r\u001b[K |██████████████████████ | 184 kB 6.8 MB/s eta 0:00:01\r\u001b[K |███████████████████████▏ | 194 kB 6.8 MB/s eta 0:00:01\r\u001b[K |████████████████████████▍ | 204 kB 6.8 MB/s eta 0:00:01\r\u001b[K |█████████████████████████▋ | 215 kB 6.8 MB/s eta 0:00:01\r\u001b[K |██████████████████████████▉ | 225 kB 6.8 MB/s eta 0:00:01\r\u001b[K |████████████████████████████ | 235 kB 6.8 MB/s eta 0:00:01\r\u001b[K |█████████████████████████████▏ | 245 kB 6.8 MB/s eta 0:00:01\r\u001b[K |██████████████████████████████▍ | 256 kB 6.8 MB/s eta 0:00:01\r\u001b[K |███████████████████████████████▋| 266 kB 6.8 MB/s eta 0:00:01\r\u001b[K |████████████████████████████████| 269 kB 6.8 MB/s \n", | |
"\u001b[?25hRequirement already satisfied: scipy>=1.0.0 in /usr/local/lib/python3.7/dist-packages (from quantecon) (1.4.1)\n", | |
"Requirement already satisfied: numpy in /usr/local/lib/python3.7/dist-packages (from quantecon) (1.21.5)\n", | |
"Requirement already satisfied: numba>=0.38 in /usr/local/lib/python3.7/dist-packages (from quantecon) (0.51.2)\n", | |
"Requirement already satisfied: sympy in /usr/local/lib/python3.7/dist-packages (from quantecon) (1.7.1)\n", | |
"Requirement already satisfied: requests in /usr/local/lib/python3.7/dist-packages (from quantecon) (2.23.0)\n", | |
"Requirement already satisfied: setuptools in /usr/local/lib/python3.7/dist-packages (from numba>=0.38->quantecon) (57.4.0)\n", | |
"Requirement already satisfied: llvmlite<0.35,>=0.34.0.dev0 in /usr/local/lib/python3.7/dist-packages (from numba>=0.38->quantecon) (0.34.0)\n", | |
"Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.7/dist-packages (from requests->quantecon) (2.10)\n", | |
"Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.7/dist-packages (from requests->quantecon) (3.0.4)\n", | |
"Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.7/dist-packages (from requests->quantecon) (1.24.3)\n", | |
"Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.7/dist-packages (from requests->quantecon) (2021.10.8)\n", | |
"Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.7/dist-packages (from sympy->quantecon) (1.2.1)\n", | |
"Installing collected packages: quantecon\n", | |
"Successfully installed quantecon-0.5.2\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"id": "da4873ac", | |
"metadata": { | |
"id": "da4873ac" | |
}, | |
"outputs": [], | |
"source": [ | |
"import numpy as np\n", | |
"import jax\n", | |
"import jax.numpy as jnp\n", | |
"from numba import njit\n", | |
"import quantecon as qe \n", | |
"import matplotlib.pyplot as plt" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "9975d552", | |
"metadata": { | |
"id": "9975d552" | |
}, | |
"source": [ | |
"Next we specify some primitives, including the utility function. We will be lazy and include them as global variables." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"id": "29643599", | |
"metadata": { | |
"id": "29643599" | |
}, | |
"outputs": [], | |
"source": [ | |
"R = 1.1\n", | |
"β = 0.99\n", | |
"γ = 2.5\n", | |
"\n", | |
"def u(c):\n", | |
" return c**(1-γ) / (1-γ)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "884bac7b", | |
"metadata": { | |
"id": "884bac7b" | |
}, | |
"source": [ | |
"Now we define the asset grid. We will use a large one so to generate a computationally demanding problem. (Economists usually use smaller grids, but large grids easily arise once we start introducing more features to the model. Since this complicates our code, we'll stick to a simple model with a large grid.)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"id": "4e10b3ab", | |
"metadata": { | |
"id": "4e10b3ab" | |
}, | |
"outputs": [], | |
"source": [ | |
"a_min, a_max = 0.01, 2\n", | |
"a_size = ap_size = 1000\n", | |
"a_grid = np.linspace(a_min, a_max, a_size) # grid for a\n", | |
"ap_grid = np.copy(a_grid) # grid for a'" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "021394a8", | |
"metadata": { | |
"id": "021394a8" | |
}, | |
"source": [ | |
"Next we build the Markov chain for income. We will use QuantEcon's `tauchen()` function to construct a Markov chain via discretization of an AR1 process. The details do not matter much. All we are doing is setting up a grid of possible values for $y_t$ and the matrix of transition probabilities." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"id": "f22b1210", | |
"metadata": { | |
"id": "f22b1210" | |
}, | |
"outputs": [], | |
"source": [ | |
"ρ = 0.9\n", | |
"σ = 0.1\n", | |
"y_size = 100\n", | |
"mc = qe.tauchen(ρ, σ, n=y_size)\n", | |
"y_grid = np.exp(mc.state_values)\n", | |
"P = mc.P" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "33f21f47", | |
"metadata": { | |
"id": "33f21f47" | |
}, | |
"source": [ | |
"## A First Pass: Using Loops and Numba\n", | |
"\n", | |
"As our first implementation of the Bellman operator, we are going to use loops over the state and choice variables. The use of `njit` in the code below indicates that we are using Numba to just-in-time (JIT) compile the utility function and the Bellman operator. This makes the loops inside the Bellman operator run at the same speed as compiled C or Fortran code.\n", | |
"\n", | |
"We are applying Numba's JIT functionality so that we have a serious --- but not parallelized --- benchmark, running on the CPU.\n", | |
"\n", | |
"Below we will compare this benchmark to implementations on the GPU." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"id": "2351774b", | |
"metadata": { | |
"id": "2351774b" | |
}, | |
"outputs": [], | |
"source": [ | |
"u_jit = njit(u) # Compile the utility function\n", | |
"\n", | |
"@njit\n", | |
"def T(v):\n", | |
" \"The Bellman operator.\"\n", | |
" # Allocate memory\n", | |
" v_new = np.empty_like(v)\n", | |
" # Step through all states\n", | |
" for i, a in enumerate(a_grid):\n", | |
" for j, y in enumerate(y_grid):\n", | |
" # Choose a' optimally by stepping through all possible values\n", | |
" v_max = - np.inf\n", | |
" for k, ap in enumerate(ap_grid):\n", | |
" c = R * a + y - ap\n", | |
" if c > 0: \n", | |
" # Calculate the right hand side of the Belllman operator\n", | |
" val = u_jit(c) + β * np.dot(v[k, :], P[j, :])\n", | |
" if val > v_max:\n", | |
" v_max = val\n", | |
" v_new[i, j] = v_max\n", | |
" return v_new" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "1c958745", | |
"metadata": { | |
"id": "1c958745" | |
}, | |
"source": [ | |
"Here's a vector to test our operator on." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"id": "dda13b27", | |
"metadata": { | |
"id": "dda13b27" | |
}, | |
"outputs": [], | |
"source": [ | |
"vz = np.zeros((a_size, y_size))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "8afe89b4", | |
"metadata": { | |
"id": "8afe89b4" | |
}, | |
"source": [ | |
"Now let's apply the operator and see how long it takes." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"id": "8dfa62a8", | |
"metadata": { | |
"scrolled": true, | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "8dfa62a8", | |
"outputId": "21d8e579-19ac-41cb-c815-3394d8a45c84" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"CPU times: user 12.7 s, sys: 74.7 ms, total: 12.8 s\n", | |
"Wall time: 14.9 s\n" | |
] | |
}, | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"array([[-1.86623555, -1.82779165, -1.79013867, ..., -0.24736292,\n", | |
" -0.24225994, -0.2372622 ],\n", | |
" [-1.85411787, -1.81608627, -1.77883158, ..., -0.2469437 ,\n", | |
" -0.24185503, -0.23687111],\n", | |
" [-1.84213077, -1.8045053 , -1.76764303, ..., -0.24652566,\n", | |
" -0.24145124, -0.23648109],\n", | |
" ...,\n", | |
" [-0.15126798, -0.15067609, -0.15007985, ..., -0.07968264,\n", | |
" -0.07890307, -0.07812548],\n", | |
" [-0.15108321, -0.15049252, -0.14989749, ..., -0.07961914,\n", | |
" -0.0788406 , -0.07806403],\n", | |
" [-0.15089881, -0.15030933, -0.1497155 , ..., -0.07955571,\n", | |
" -0.07877821, -0.07800266]])" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 9 | |
} | |
], | |
"source": [ | |
"%time T(vz)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"## Switching to the GPU via JaX" | |
], | |
"metadata": { | |
"id": "8TH7cD0l4izg" | |
}, | |
"id": "8TH7cD0l4izg" | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Next we look to switch to a GPU-based implementation. First, let's check that Google Colab has assigned us a nice GPU." | |
], | |
"metadata": { | |
"id": "Be5AJYm942XE" | |
}, | |
"id": "Be5AJYm942XE" | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"!nvidia-smi" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "lHDzQN__3rMC", | |
"outputId": "b7fb05f5-907a-4342-82fd-a3384d237258" | |
}, | |
"id": "lHDzQN__3rMC", | |
"execution_count": 10, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"Mon Mar 14 05:31:49 2022 \n", | |
"+-----------------------------------------------------------------------------+\n", | |
"| NVIDIA-SMI 460.32.03 Driver Version: 460.32.03 CUDA Version: 11.2 |\n", | |
"|-------------------------------+----------------------+----------------------+\n", | |
"| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |\n", | |
"| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |\n", | |
"| | | MIG M. |\n", | |
"|===============================+======================+======================|\n", | |
"| 0 Tesla P100-PCIE... Off | 00000000:00:04.0 Off | 0 |\n", | |
"| N/A 31C P0 26W / 250W | 0MiB / 16280MiB | 0% Default |\n", | |
"| | | N/A |\n", | |
"+-------------------------------+----------------------+----------------------+\n", | |
" \n", | |
"+-----------------------------------------------------------------------------+\n", | |
"| Processes: |\n", | |
"| GPU GI CI PID Type Process name GPU Memory |\n", | |
"| ID ID Usage |\n", | |
"|=============================================================================|\n", | |
"| No running processes found |\n", | |
"+-----------------------------------------------------------------------------+\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"When we ran this on Colab, we obtained a Tesla P100, which can be seen in the output above (assuming you are reading this without running it, or that you have been assigned the same GPU).\n", | |
"\n", | |
"Next let's try to set up a Bellman operator that runs on this GPU." | |
], | |
"metadata": { | |
"id": "ynVq7qVg5KzU" | |
}, | |
"id": "ynVq7qVg5KzU" | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "844da4c6", | |
"metadata": { | |
"id": "844da4c6" | |
}, | |
"source": [ | |
"### Step One: Vectorization via NumPy\n", | |
"\n", | |
"JAX prefers vectorized operations, meaning that loops need to be replaced by operations on arrays. We use some NumPy [broadcasting](https://jakevdp.github.io/PythonDataScienceHandbook/02.05-computation-on-arrays-broadcasting.html) tricks to eliminate these loops.\n", | |
"\n", | |
"The basic idea is to add dimensions to arrays so that they will be stretched along the new dimensions when placed in arithmetic operations with other arrays that have more elements along those dimensions. This stretching is done by repeating values, which is what we use to replace loops.\n", | |
"\n", | |
"The next code cell reshapes all arrays to be three-dimensional." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"id": "43fbb3d6", | |
"metadata": { | |
"id": "43fbb3d6" | |
}, | |
"outputs": [], | |
"source": [ | |
"P = np.reshape(P, (y_size, y_size, 1))\n", | |
"a = np.reshape(a_grid, (a_size, 1, 1))\n", | |
"y = np.reshape(y_grid, (1, y_size, 1))\n", | |
"ap = np.reshape(ap_grid, (1, 1, ap_size))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "9a709eb2", | |
"metadata": { | |
"id": "9a709eb2" | |
}, | |
"source": [ | |
"Now we can implement a vectorized version of the Bellman operator, which calculates the same values." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"id": "59455d06", | |
"metadata": { | |
"id": "59455d06" | |
}, | |
"outputs": [], | |
"source": [ | |
"def T_vec(v):\n", | |
" vp = np.dot(v, P)\n", | |
" c = R * a + y - ap\n", | |
" m = np.where(c > 0, u(c) + β * vp, -np.inf)\n", | |
" return np.max(m, axis=2)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "1d0fe4bf", | |
"metadata": { | |
"id": "1d0fe4bf" | |
}, | |
"source": [ | |
"At this point, everything is in NumPy, and runs **on the CPU** rather than the GPU.\n", | |
"\n", | |
"Let's check the output and see how fast it runs." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"id": "4f5b0e11", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "4f5b0e11", | |
"outputId": "28eae9e0-180f-476f-8f80-7f9336a06a76" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"CPU times: user 6 s, sys: 447 ms, total: 6.44 s\n", | |
"Wall time: 6.42 s\n" | |
] | |
}, | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"array([[-1.86623555, -1.82779165, -1.79013867, ..., -0.24736292,\n", | |
" -0.24225994, -0.2372622 ],\n", | |
" [-1.85411787, -1.81608627, -1.77883158, ..., -0.2469437 ,\n", | |
" -0.24185503, -0.23687111],\n", | |
" [-1.84213077, -1.8045053 , -1.76764303, ..., -0.24652566,\n", | |
" -0.24145124, -0.23648109],\n", | |
" ...,\n", | |
" [-0.15126798, -0.15067609, -0.15007985, ..., -0.07968264,\n", | |
" -0.07890307, -0.07812548],\n", | |
" [-0.15108321, -0.15049252, -0.14989749, ..., -0.07961914,\n", | |
" -0.0788406 , -0.07806403],\n", | |
" [-0.15089881, -0.15030933, -0.1497155 , ..., -0.07955571,\n", | |
" -0.07877821, -0.07800266]])" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 13 | |
} | |
], | |
"source": [ | |
"%time T_vec(vz)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "c6e1efe0", | |
"metadata": { | |
"id": "c6e1efe0" | |
}, | |
"source": [ | |
"The output is the same as above, but execution speed is up by one order of magnitude --- at least on this machine, at the time of writing. \n", | |
"\n", | |
"Where does the speed gain come from, given that we had already compiled our loops in the previous version of $T$?\n", | |
"\n", | |
"The answer is that NumPy array operations use some degree of multithreading on the CPU with basic array operations. So we are running operations at a similar speed but making better use of multi-core CPU platforms via parallelization." | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"### Step Two: Switching to JAX" | |
], | |
"metadata": { | |
"id": "g8SE0WVS5r38" | |
}, | |
"id": "g8SE0WVS5r38" | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "86087543", | |
"metadata": { | |
"id": "86087543" | |
}, | |
"source": [ | |
"Now we are ready for our JAX implementation, which runs on the GPU when available.\n", | |
"\n", | |
"Fortunately, the JAX operations are essentially identical to the NumPy ones, after shifting our arrays to the GPU (the \"device\") and replacing `numpy` calls with `jax.numpy` calls (aliased as `jnp`)." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"id": "1c13f56d", | |
"metadata": { | |
"id": "1c13f56d" | |
}, | |
"outputs": [], | |
"source": [ | |
"# Shift all NumPy arrays onto the GPU\n", | |
"P = jax.device_put(P)\n", | |
"a = jax.device_put(a)\n", | |
"y = jax.device_put(y)\n", | |
"ap = jax.device_put(ap)\n", | |
"vz = jax.device_put(vz)\n", | |
"\n", | |
"# Define the Bellman operator as in the NumPy version, but replacing np with jnp\n", | |
"def T_jax(v):\n", | |
" vp = jnp.dot(v, P)\n", | |
" c = R * a + y - ap\n", | |
" m = jnp.where(c > 0, u(c) + β * vp, -np.inf)\n", | |
" return jnp.max(m, axis=2)\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Let's look at the timing. (We use `block_until_ready()` only to force evaluation at the time of function call, so we can do proper benchmarking.)" | |
], | |
"metadata": { | |
"id": "JzNNIIIu5xjV" | |
}, | |
"id": "JzNNIIIu5xjV" | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"id": "6cdba533", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "6cdba533", | |
"outputId": "033d9455-16b9-48ec-d668-fe2a255b81be" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"CPU times: user 476 ms, sys: 269 ms, total: 745 ms\n", | |
"Wall time: 2.8 s\n" | |
] | |
}, | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"DeviceArray([[-1.8662355 , -1.8277917 , -1.7901386 , ..., -0.24736291,\n", | |
" -0.24225995, -0.23726219],\n", | |
" [-1.8541178 , -1.8160865 , -1.7788315 , ..., -0.24694368,\n", | |
" -0.24185503, -0.23687112],\n", | |
" [-1.8421307 , -1.8045052 , -1.7676427 , ..., -0.24652565,\n", | |
" -0.24145123, -0.2364811 ],\n", | |
" ...,\n", | |
" [-0.15126799, -0.15067609, -0.15007983, ..., -0.07968266,\n", | |
" -0.07890309, -0.07812549],\n", | |
" [-0.15108322, -0.15049253, -0.14989749, ..., -0.07961915,\n", | |
" -0.07884061, -0.07806404],\n", | |
" [-0.15089881, -0.15030932, -0.14971548, ..., -0.07955572,\n", | |
" -0.07877821, -0.07800266]], dtype=float32)" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 15 | |
} | |
], | |
"source": [ | |
"%time T_jax(vz).block_until_ready()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "4a9c44ab", | |
"metadata": { | |
"id": "4a9c44ab" | |
}, | |
"source": [ | |
"We already have some speed gain from shifting to the GPU. But we can do even better, using JAX's just-in-time compiler. First we target `T_jax` for compilation." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"id": "336a5d23", | |
"metadata": { | |
"id": "336a5d23" | |
}, | |
"outputs": [], | |
"source": [ | |
"T_jax_jit = jax.jit(T_jax)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "bdbacc5c", | |
"metadata": { | |
"id": "bdbacc5c" | |
}, | |
"source": [ | |
"When we first run the function there is only moderate speed gain because the function needs to be compiled before it is run:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 17, | |
"id": "7b1c7538", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "7b1c7538", | |
"outputId": "3159126f-4a6c-4893-9324-ef5890ba7614" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"CPU times: user 159 ms, sys: 1.89 ms, total: 161 ms\n", | |
"Wall time: 280 ms\n" | |
] | |
}, | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"DeviceArray([[-1.8662355 , -1.8277917 , -1.7901386 , ..., -0.24736291,\n", | |
" -0.24225995, -0.23726219],\n", | |
" [-1.8541178 , -1.8160865 , -1.7788315 , ..., -0.24694368,\n", | |
" -0.24185503, -0.23687112],\n", | |
" [-1.8421307 , -1.8045052 , -1.7676427 , ..., -0.24652565,\n", | |
" -0.24145123, -0.2364811 ],\n", | |
" ...,\n", | |
" [-0.15126799, -0.15067609, -0.15007983, ..., -0.07968266,\n", | |
" -0.07890309, -0.07812549],\n", | |
" [-0.15108322, -0.15049253, -0.14989749, ..., -0.07961915,\n", | |
" -0.07884061, -0.07806404],\n", | |
" [-0.15089881, -0.15030932, -0.14971548, ..., -0.07955572,\n", | |
" -0.07877821, -0.07800266]], dtype=float32)" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 17 | |
} | |
], | |
"source": [ | |
"%time T_jax_jit(vz).block_until_ready()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "aae0ffc2", | |
"metadata": { | |
"id": "aae0ffc2" | |
}, | |
"source": [ | |
"But the next time we run it we get a large speed gain:" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 18, | |
"id": "361234e8", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "361234e8", | |
"outputId": "e37f75d8-e34d-43a7-d633-0167f6fb2e13" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"CPU times: user 785 µs, sys: 929 µs, total: 1.71 ms\n", | |
"Wall time: 4.54 ms\n" | |
] | |
}, | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"DeviceArray([[-1.8662355 , -1.8277917 , -1.7901386 , ..., -0.24736291,\n", | |
" -0.24225995, -0.23726219],\n", | |
" [-1.8541178 , -1.8160865 , -1.7788315 , ..., -0.24694368,\n", | |
" -0.24185503, -0.23687112],\n", | |
" [-1.8421307 , -1.8045052 , -1.7676427 , ..., -0.24652565,\n", | |
" -0.24145123, -0.2364811 ],\n", | |
" ...,\n", | |
" [-0.15126799, -0.15067609, -0.15007983, ..., -0.07968266,\n", | |
" -0.07890309, -0.07812549],\n", | |
" [-0.15108322, -0.15049253, -0.14989749, ..., -0.07961915,\n", | |
" -0.07884061, -0.07806404],\n", | |
" [-0.15089881, -0.15030932, -0.14971548, ..., -0.07955572,\n", | |
" -0.07877821, -0.07800266]], dtype=float32)" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 18 | |
} | |
], | |
"source": [ | |
"%time T_jax_jit(vz).block_until_ready()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "c2533099", | |
"metadata": { | |
"id": "c2533099" | |
}, | |
"source": [ | |
"That's seriously fast.\n", | |
"\n", | |
"This new speed gain is possible because JAX's JIT compiler \"fuses\" the array operations inside `T_jax`, which essentially means that it views them as a whole and optimizes accordingly. This allows generation of highly efficient code for the GPU." | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "cf524486", | |
"metadata": { | |
"id": "cf524486" | |
}, | |
"source": [ | |
"To finish the exercise off, let's iterate until convergence and then plot the value function." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 19, | |
"id": "1c7808e3", | |
"metadata": { | |
"id": "1c7808e3" | |
}, | |
"outputs": [], | |
"source": [ | |
"def vfi_iterator(v_init=vz, tol=1e-6, max_iter=50_000):\n", | |
" error = tol + 1\n", | |
" i = 0\n", | |
" v = v_init\n", | |
" while error > tol and i < max_iter:\n", | |
" new_v = T_jax_jit(v)\n", | |
" error = jnp.max(jnp.abs(new_v - v))\n", | |
" v = new_v\n", | |
"\n", | |
" if i % 100 == 0:\n", | |
" print(f\"Iteration {i}\")\n", | |
" i += 1\n", | |
"\n", | |
" if i == max_iter:\n", | |
" print(f\"Warning: iteration hit upper bound {max_iter}.\")\n", | |
" else:\n", | |
" print(f\"\\nConverged at iteration {i}.\")\n", | |
" return v" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 20, | |
"id": "5ee0d51d", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "5ee0d51d", | |
"outputId": "13f30192-f0fe-4dda-ea17-a3f8cecb3d46" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"Iteration 0\n", | |
"Iteration 100\n", | |
"Iteration 200\n", | |
"Iteration 300\n", | |
"Iteration 400\n", | |
"Iteration 500\n", | |
"Iteration 600\n", | |
"Iteration 700\n", | |
"Iteration 800\n", | |
"Iteration 900\n", | |
"Iteration 1000\n", | |
"Iteration 1100\n", | |
"Iteration 1200\n", | |
"Iteration 1300\n", | |
"Iteration 1400\n", | |
"\n", | |
"Converged at iteration 1462.\n" | |
] | |
} | |
], | |
"source": [ | |
"v = vfi_iterator()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Here's a plot of the value function." | |
], | |
"metadata": { | |
"id": "lN9phwnJ-ZPo" | |
}, | |
"id": "lN9phwnJ-ZPo" | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 21, | |
"id": "4bbfd9f4", | |
"metadata": { | |
"id": "4bbfd9f4" | |
}, | |
"outputs": [], | |
"source": [ | |
"from mpl_toolkits.mplot3d.axes3d import Axes3D\n", | |
"from matplotlib import cm" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 22, | |
"id": "8ebe4c5b", | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 357 | |
}, | |
"id": "8ebe4c5b", | |
"outputId": "f0e02ea5-2dd7-408b-8ca7-2cc7886c1483" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"<Figure size 720x432 with 1 Axes>" | |
], | |
"image/png": "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\n" | |
}, | |
"metadata": { | |
"needs_background": "light" | |
} | |
} | |
], | |
"source": [ | |
"\n", | |
"a, y = np.meshgrid(a_grid, y_grid)\n", | |
"\n", | |
"fig = plt.figure(figsize=(10, 6))\n", | |
"ax = fig.add_subplot(111, projection='3d')\n", | |
"ax.plot_surface(a,\n", | |
" y,\n", | |
" v.T,\n", | |
" rstride=2, cstride=2,\n", | |
" cmap=cm.jet,\n", | |
" alpha=0.7,\n", | |
" linewidth=0.25)\n", | |
"\n", | |
"ax.view_init(15, 120)\n", | |
"plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 22, | |
"id": "2ff4a41c", | |
"metadata": { | |
"id": "2ff4a41c" | |
}, | |
"outputs": [], | |
"source": [ | |
"" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3 (ipykernel)", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.9.7" | |
}, | |
"colab": { | |
"name": "jax_dp.ipynb", | |
"provenance": [], | |
"include_colab_link": true | |
}, | |
"accelerator": "GPU" | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 5 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment