{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "### Explore the data-files in the repository and familiarize with pandas" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Make a map that assigns the total number of memory operations per element to a given algorithm" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "memops = {'scal':2, 'axpby':3, 'pointwiseDot':6, 'dot':2, 'dx':3, 'dy':3,\n", " 'arakawa':34, 'cg':42}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, let's read in one of the csv files (actually they are \"whitespace seperated values\") and compute the bandwidth from the time measurements, vector size and the memory operations" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", " | n | \n", "Nx | \n", "Ny | \n", "size | \n", "scal | \n", "axpby | \n", "pointwiseDot | \n", "dot | \n", "dx | \n", "dy | \n", "arakawa | \n", "cg | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "2 | \n", "144 | \n", "144 | \n", "0.663552 | \n", "314.478876 | \n", "416.429966 | \n", "524.460662 | \n", "56.162541 | \n", "97.585482 | \n", "39.256309 | \n", "138.435948 | \n", "126.542938 | \n", "
1 | \n", "2 | \n", "288 | \n", "288 | \n", "2.654208 | \n", "1203.520498 | \n", "1272.291559 | \n", "1633.536364 | \n", "115.879737 | \n", "183.928301 | \n", "117.065735 | \n", "308.217740 | \n", "227.802475 | \n", "
2 | \n", "2 | \n", "384 | \n", "384 | \n", "4.718592 | \n", "1953.722704 | \n", "2088.414692 | \n", "1985.410174 | \n", "137.448463 | \n", "198.315441 | \n", "143.189693 | \n", "367.836204 | \n", "248.862136 | \n", "
3 | \n", "2 | \n", "576 | \n", "576 | \n", "10.616832 | \n", "2892.511146 | \n", "2698.805765 | \n", "1293.980788 | \n", "140.424998 | \n", "207.967927 | \n", "189.350724 | \n", "359.265776 | \n", "312.356009 | \n", "
4 | \n", "2 | \n", "768 | \n", "768 | \n", "18.874368 | \n", "3349.488554 | \n", "541.433391 | \n", "595.559361 | \n", "157.659528 | \n", "86.322418 | \n", "106.536537 | \n", "290.893499 | \n", "244.174862 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
315 | \n", "5 | \n", "576 | \n", "576 | \n", "66.355200 | \n", "1351.859247 | \n", "361.280581 | \n", "246.226615 | \n", "189.578161 | \n", "126.820840 | \n", "112.297043 | \n", "147.858988 | \n", "161.701097 | \n", "
316 | \n", "5 | \n", "768 | \n", "768 | \n", "117.964800 | \n", "457.724662 | \n", "231.659346 | \n", "223.125189 | \n", "185.692383 | \n", "116.749053 | \n", "103.895909 | \n", "139.584366 | \n", "150.029270 | \n", "
317 | \n", "5 | \n", "1152 | \n", "1152 | \n", "265.420800 | \n", "227.990465 | \n", "218.867049 | \n", "207.946746 | \n", "187.211376 | \n", "123.177679 | \n", "107.402446 | \n", "141.847240 | \n", "118.064374 | \n", "
318 | \n", "5 | \n", "1536 | \n", "1536 | \n", "471.859200 | \n", "202.428668 | \n", "207.751258 | \n", "205.269221 | \n", "104.123644 | \n", "96.821422 | \n", "78.527590 | \n", "124.321659 | \n", "133.102875 | \n", "
319 | \n", "5 | \n", "1920 | \n", "1920 | \n", "737.280000 | \n", "144.215478 | \n", "179.177603 | \n", "203.338037 | \n", "188.251876 | \n", "123.057750 | \n", "90.144151 | \n", "133.416645 | \n", "139.521228 | \n", "
320 rows × 12 columns
\n", "\n", " | n | \n", "Nx | \n", "Ny | \n", "size | \n", "scal | \n", "axpby | \n", "pointwiseDot | \n", "dot | \n", "dx | \n", "dy | \n", "arakawa | \n", "cg | \n", "scal | \n", "axpby | \n", "pointwiseDot | \n", "dot | \n", "dx | \n", "dy | \n", "arakawa | \n", "cg | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
\n", " | \n", " | \n", " | \n", " | \n", " | eff | \n", "eff | \n", "eff | \n", "eff | \n", "eff | \n", "eff | \n", "eff | \n", "eff | \n", "eff_err | \n", "eff_err | \n", "eff_err | \n", "eff_err | \n", "eff_err | \n", "eff_err | \n", "eff_err | \n", "eff_err | \n", "
0 | \n", "2 | \n", "144 | \n", "144 | \n", "0.66 | \n", "1.44 | \n", "2.19 | \n", "2.88 | \n", "0.25 | \n", "0.42 | \n", "0.20 | \n", "0.65 | \n", "0.61 | \n", "0.03 | \n", "0.13 | \n", "0.30 | \n", "2.10e-02 | \n", "7.98e-02 | \n", "8.87e-03 | \n", "1.38e-02 | \n", "2.37e-02 | \n", "
8 | \n", "3 | \n", "144 | \n", "144 | \n", "1.49 | \n", "3.16 | \n", "5.03 | \n", "6.83 | \n", "0.46 | \n", "0.84 | \n", "0.32 | \n", "0.89 | \n", "0.80 | \n", "0.92 | \n", "0.14 | \n", "0.18 | \n", "6.79e-03 | \n", "4.62e-02 | \n", "4.47e-03 | \n", "5.07e-03 | \n", "5.07e-03 | \n", "
1 | \n", "2 | \n", "288 | \n", "288 | \n", "2.65 | \n", "5.53 | \n", "6.70 | \n", "7.77 | \n", "0.57 | \n", "0.85 | \n", "0.54 | \n", "1.42 | \n", "1.10 | \n", "0.06 | \n", "0.46 | \n", "0.20 | \n", "2.50e-02 | \n", "3.30e-02 | \n", "6.81e-03 | \n", "1.07e-02 | \n", "4.95e-02 | \n", "
16 | \n", "4 | \n", "144 | \n", "144 | \n", "2.65 | \n", "5.54 | \n", "6.52 | \n", "7.69 | \n", "0.55 | \n", "0.65 | \n", "0.33 | \n", "0.92 | \n", "0.76 | \n", "0.09 | \n", "1.10 | \n", "0.23 | \n", "5.95e-02 | \n", "2.42e-02 | \n", "1.88e-03 | \n", "1.11e-02 | \n", "1.44e-02 | \n", "
24 | \n", "5 | \n", "144 | \n", "144 | \n", "4.15 | \n", "7.59 | \n", "10.87 | \n", "11.24 | \n", "0.66 | \n", "0.63 | \n", "0.32 | \n", "0.80 | \n", "0.74 | \n", "0.13 | \n", "0.12 | \n", "0.18 | \n", "2.57e-02 | \n", "2.75e-02 | \n", "1.67e-03 | \n", "3.84e-03 | \n", "5.63e-03 | \n", "
2 | \n", "2 | \n", "384 | \n", "384 | \n", "4.72 | \n", "8.84 | \n", "9.51 | \n", "9.19 | \n", "0.69 | \n", "0.91 | \n", "0.65 | \n", "1.68 | \n", "1.22 | \n", "0.20 | \n", "0.27 | \n", "0.34 | \n", "3.64e-02 | \n", "1.66e-02 | \n", "3.16e-03 | \n", "1.32e-02 | \n", "5.82e-02 | \n", "
9 | \n", "3 | \n", "288 | \n", "288 | \n", "5.97 | \n", "9.92 | \n", "10.17 | \n", "9.73 | \n", "0.70 | \n", "0.80 | \n", "0.55 | \n", "1.31 | \n", "1.05 | \n", "0.15 | \n", "0.49 | \n", "0.49 | \n", "2.35e-02 | \n", "1.94e-02 | \n", "3.11e-03 | \n", "1.32e-02 | \n", "1.95e-02 | \n", "
3 | \n", "2 | \n", "576 | \n", "576 | \n", "10.62 | \n", "12.80 | \n", "11.92 | \n", "5.94 | \n", "0.67 | \n", "0.94 | \n", "0.85 | \n", "1.68 | \n", "1.45 | \n", "0.67 | \n", "0.50 | \n", "0.97 | \n", "2.72e-02 | \n", "2.48e-02 | \n", "1.43e-02 | \n", "2.77e-02 | \n", "2.66e-02 | \n", "
17 | \n", "4 | \n", "288 | \n", "288 | \n", "10.62 | \n", "12.91 | \n", "12.25 | \n", "6.06 | \n", "0.68 | \n", "0.73 | \n", "0.49 | \n", "1.07 | \n", "1.06 | \n", "0.18 | \n", "0.42 | \n", "0.82 | \n", "4.33e-02 | \n", "1.08e-02 | \n", "2.67e-03 | \n", "1.05e-02 | \n", "8.21e-02 | \n", "
10 | \n", "3 | \n", "384 | \n", "384 | \n", "10.62 | \n", "12.97 | \n", "12.24 | \n", "6.05 | \n", "0.69 | \n", "0.81 | \n", "0.61 | \n", "1.29 | \n", "1.26 | \n", "0.21 | \n", "0.38 | \n", "0.89 | \n", "2.34e-02 | \n", "2.23e-02 | \n", "4.82e-03 | \n", "2.20e-02 | \n", "1.81e-02 | \n", "
25 | \n", "5 | \n", "288 | \n", "288 | \n", "16.59 | \n", "14.86 | \n", "12.29 | \n", "3.21 | \n", "0.78 | \n", "0.60 | \n", "0.44 | \n", "0.81 | \n", "0.86 | \n", "0.10 | \n", "3.22 | \n", "0.38 | \n", "2.44e-02 | \n", "1.00e-02 | \n", "5.58e-03 | \n", "2.16e-02 | \n", "2.40e-02 | \n", "
4 | \n", "2 | \n", "768 | \n", "768 | \n", "18.87 | \n", "15.10 | \n", "2.47 | \n", "2.98 | \n", "0.79 | \n", "0.40 | \n", "0.72 | \n", "1.31 | \n", "1.13 | \n", "0.44 | \n", "0.04 | \n", "0.16 | \n", "5.68e-02 | \n", "2.80e-03 | \n", "8.21e-02 | \n", "3.37e-02 | \n", "1.56e-02 | \n", "
18 | \n", "4 | \n", "384 | \n", "384 | \n", "18.87 | \n", "15.20 | \n", "2.50 | \n", "2.90 | \n", "0.81 | \n", "0.34 | \n", "0.41 | \n", "0.83 | \n", "0.86 | \n", "0.22 | \n", "0.02 | \n", "0.23 | \n", "3.00e-02 | \n", "5.37e-04 | \n", "2.38e-03 | \n", "3.18e-02 | \n", "6.27e-03 | \n", "
11 | \n", "3 | \n", "576 | \n", "576 | \n", "23.89 | \n", "16.12 | \n", "9.12 | \n", "2.49 | \n", "0.81 | \n", "0.85 | \n", "0.72 | \n", "0.97 | \n", "1.01 | \n", "0.15 | \n", "2.96 | \n", "0.11 | \n", "4.68e-02 | \n", "5.69e-03 | \n", "2.78e-03 | \n", "6.91e-03 | \n", "1.43e-02 | \n", "
26 | \n", "5 | \n", "384 | \n", "384 | \n", "29.49 | \n", "12.76 | \n", "4.82 | \n", "1.72 | \n", "0.81 | \n", "0.59 | \n", "0.50 | \n", "0.68 | \n", "0.78 | \n", "2.41 | \n", "1.14 | \n", "0.07 | \n", "3.91e-02 | \n", "7.62e-03 | \n", "3.21e-02 | \n", "5.89e-03 | \n", "1.13e-02 | \n", "
12 | \n", "3 | \n", "768 | \n", "768 | \n", "42.47 | \n", "9.24 | \n", "3.37 | \n", "1.26 | \n", "0.85 | \n", "0.80 | \n", "0.71 | \n", "0.87 | \n", "0.94 | \n", "1.07 | \n", "0.66 | \n", "0.03 | \n", "4.37e-02 | \n", "1.70e-02 | \n", "1.15e-02 | \n", "7.37e-03 | \n", "6.82e-03 | \n", "
19 | \n", "4 | \n", "576 | \n", "576 | \n", "42.47 | \n", "8.93 | \n", "3.69 | \n", "1.27 | \n", "0.85 | \n", "0.72 | \n", "0.60 | \n", "0.77 | \n", "0.84 | \n", "1.83 | \n", "0.37 | \n", "0.02 | \n", "4.74e-02 | \n", "9.94e-03 | \n", "1.09e-02 | \n", "7.72e-03 | \n", "6.55e-03 | \n", "
5 | \n", "2 | \n", "1152 | \n", "1152 | \n", "42.47 | \n", "8.01 | \n", "3.92 | \n", "1.25 | \n", "0.83 | \n", "0.97 | \n", "0.92 | \n", "0.97 | \n", "1.04 | \n", "2.78 | \n", "0.31 | \n", "0.03 | \n", "8.50e-02 | \n", "1.50e-02 | \n", "5.11e-03 | \n", "1.33e-02 | \n", "5.36e-03 | \n", "
27 | \n", "5 | \n", "576 | \n", "576 | \n", "66.36 | \n", "4.64 | \n", "1.99 | \n", "1.11 | \n", "0.83 | \n", "0.58 | \n", "0.51 | \n", "0.67 | \n", "0.73 | \n", "1.37 | \n", "0.14 | \n", "0.02 | \n", "2.51e-02 | \n", "2.74e-03 | \n", "3.78e-03 | \n", "4.70e-03 | \n", "3.24e-03 | \n", "
6 | \n", "2 | \n", "1536 | \n", "1536 | \n", "75.50 | \n", "5.02 | \n", "1.62 | \n", "1.07 | \n", "0.80 | \n", "0.88 | \n", "0.86 | \n", "0.86 | \n", "0.92 | \n", "0.63 | \n", "0.10 | \n", "0.02 | \n", "4.04e-02 | \n", "1.89e-02 | \n", "3.70e-02 | \n", "2.64e-02 | \n", "1.29e-02 | \n", "