{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## The 2D diffusion equation on GPUs, in minutes\n", "\n", "This notebook implements, for a given initial density profile, a solver for the 2D diffusion equation using an explicit finite difference scheme with 'do-nothing' conditions on the boundaries (and hence will not provide a reasonable solution once the profile has diffused to a boundary)." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Some imports we will need below\n", "import numpy as np\n", "from devito import *\n", "import matplotlib.pyplot as plt \n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Solver implementation\n", "\n", "We start by creating a Cartesian `Grid` representing the computational domain:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "nx, ny = 100, 100\n", "grid = Grid(shape=(nx, ny))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To represent the density, we use a `TimeFunction` -- a scalar, discrete function encapsulating space- and time-varying data. We also use a `Constant` for the diffusion coefficient." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "u = TimeFunction(name='u', grid=grid, space_order=2, save=200)\n", "c = Constant(name='c')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The 2D diffusion equation is expressed as:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "eqn = Eq(u.dt, c * u.laplace)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From this diffusion equation we derive our time-marching method -- at each timestep, we compute `u` at timestep `t+1`, which in the Devito language is represented by `u.forward`. Hence:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "step = Eq(u.forward, solve(eqn, u.forward))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "OK, it's time to let Devito generate code for our solver!" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "op = Operator([step])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Before executing the `Operator` we must first specify the initial density profile. Here, we place a \"ring\" with a constant density value in the center of the domain." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "xx, yy = np.meshgrid(np.linspace(0., 1., nx, dtype=np.float32),\n", " np.linspace(0., 1., ny, dtype=np.float32))\n", "r = (xx - .5)**2. + (yy - .5)**2.\n", "# Inserting the ring\n", "u.data[0, np.logical_and(.05 <= r, r <= .1)] = 1." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We're now ready to execute the `Operator`. We run it with a diffusion coefficient of 0.5 and for a carefully chosen `dt`. Unless specified otherwise, the simulation runs for 199 timesteps as specified in the definition of `u` (i.e. the function was defined with `save=200` the initial data + 199 new timesteps)." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "tags": [ "nbval-ignore-output" ] }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Operator `Kernel` run in 0.05 s\n" ] } ], "source": [ "stats = op.apply(dt=5e-05, c=0.5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Initial conditions and snapshots every 40 timesteps" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "tags": [ "nbval-ignore-output" ] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.rcParams['figure.figsize'] = (20, 20)\n", "for i in range(1, 6):\n", " plt.subplot(1, 6, i)\n", " plt.imshow(u.data[(i-1)*40])\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### GPU-parallel solver\n", "\n", "Let us now generate a GPU implementation of the same solver. It's actually straightforward!" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# Instead of `platform=nvidiaX`, you may run your Python code with the environment variable `DEVITO_PLATFORM=nvidiaX`\n", "\n", "op = Operator([step], platform='nvidiaX')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**That's it!** We can now run it exactly as before" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "# Uncomment and run only if Devito was installed with GPU support.\n", "# stats = op.apply(dt=5e-05, c=0.5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We should see a big performance difference between the two runs. We can also inspect `op` to see what Devito has generated to run on the GPU" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "#define _POSIX_C_SOURCE 200809L\n", "#include \"stdlib.h\"\n", "#include \"math.h\"\n", "#include \"sys/time.h\"\n", "#include \"omp.h\"\n", "\n", "struct dataobj\n", "{\n", " void *restrict data;\n", " int * size;\n", " int * npsize;\n", " int * dsize;\n", " int * hsize;\n", " int * hofs;\n", " int * oofs;\n", "} ;\n", "\n", "struct profiler\n", "{\n", " double section0;\n", "} ;\n", "\n", "\n", "int Kernel(const float c, const float dt, const float h_x, const float h_y, struct dataobj *restrict u_vec, const int time_M, const int time_m, struct profiler * timers, const int x_M, const int x_m, const int y_M, const int y_m)\n", "{\n", " float (*restrict u)[u_vec->size[1]][u_vec->size[2]] __attribute__ ((aligned (64))) = (float (*)[u_vec->size[1]][u_vec->size[2]]) u_vec->data;\n", "\n", " #pragma omp target enter data map(to: u[0:u_vec->size[0]][0:u_vec->size[1]][0:u_vec->size[2]])\n", "\n", " for (int time = time_m; time <= time_M; time += 1)\n", " {\n", " struct timeval start_section0, end_section0;\n", " gettimeofday(&start_section0, NULL);\n", " /* Begin section0 */\n", " #pragma omp target teams distribute parallel for collapse(2)\n", " for (int x = x_m; x <= x_M; x += 1)\n", " {\n", " for (int y = y_m; y <= y_M; y += 1)\n", " {\n", " float r3 = -2.0F*u[time][x + 2][y + 2];\n", " u[time + 1][x + 2][y + 2] = dt*(c*((r3 + u[time][x + 2][y + 1] + u[time][x + 2][y + 3])/((h_y*h_y)) + (r3 + u[time][x + 1][y + 2] + u[time][x + 3][y + 2])/((h_x*h_x))) + u[time][x + 2][y + 2]/dt);\n", " }\n", " }\n", " /* End section0 */\n", " gettimeofday(&end_section0, NULL);\n", " timers->section0 += (double)(end_section0.tv_sec-start_section0.tv_sec)+(double)(end_section0.tv_usec-start_section0.tv_usec)/1000000;\n", " }\n", "\n", " #pragma omp target update from(u[0:u_vec->size[0]][0:u_vec->size[1]][0:u_vec->size[2]])\n", " #pragma omp target exit data map(release: u[0:u_vec->size[0]][0:u_vec->size[1]][0:u_vec->size[2]])\n", " return 0;\n", "}\n", "\n" ] } ], "source": [ "print(op)" ] } ], "metadata": { "@webio": { "lastCommId": null, "lastKernelId": null }, "hide_input": false, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.7" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autoclose": false, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false }, "widgets": { "state": {}, "version": "1.1.2" } }, "nbformat": 4, "nbformat_minor": 4 }