diff --git a/Figures.ipynb b/Figures.ipynb index 341656a..394f9dc 100644 --- a/Figures.ipynb +++ b/Figures.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 3, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ @@ -17,7 +17,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -26,7 +26,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 20, "metadata": {}, "outputs": [], "source": [ @@ -36,44 +36,42 @@ }, { "cell_type": "code", - "execution_count": 97, + "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - " t_init t_total outfile \\\n", - "0 3.391605 195.295240 /work/martinls/216868/ShallowWaterGPU/mpi_out_... \n", - "1 3.187037 179.881221 /work/martinls/216869/ShallowWaterGPU/mpi_out_... \n", - "3 2.478722 148.845790 /work/martinls/216870/ShallowWaterGPU/mpi_out_... \n", - "4 3.220587 89.258778 /work/martinls/216871/ShallowWaterGPU/mpi_out_... \n", - "2 3.995742 81.342442 /work/martinls/216872/ShallowWaterGPU/mpi_out_... \n", - "5 4.426121 76.431902 /work/martinls/216873/ShallowWaterGPU/mpi_out_... \n", + " dt n_cuda_devices n_processes n_time_steps nx ny \\\n", + "0 0.00001 2 1 20002.0 4096.0 4096.0 \n", + "1 0.00001 2 2 20002.0 4096.0 2048.0 \n", + "5 0.00001 2 3 20002.0 4096.0 1365.0 \n", + "4 0.00001 2 4 20002.0 4096.0 1024.0 \n", + "7 0.00001 2 5 20002.0 4096.0 819.0 \n", + "3 0.00001 2 6 20002.0 4096.0 683.0 \n", + "2 0.00001 2 7 20002.0 4096.0 585.0 \n", + "6 0.00001 2 8 20002.0 4096.0 512.0 \n", "\n", - " t_sim_init t_nc_write t_step t_step_mpi_halo_exchange t_step_mpi \\\n", - "0 24.366352 4.218516 162.692996 31.031250 131.203125 \n", - "1 13.079974 2.645470 160.504349 30.175781 129.562500 \n", - "3 9.327793 1.417720 135.224608 23.125000 111.355469 \n", - "4 7.693858 1.044866 76.910678 42.898438 33.703125 \n", - "2 6.430108 0.975855 69.577638 42.601562 26.730469 \n", - "5 5.593224 0.692737 65.368168 42.433594 22.496094 \n", + " slurm_job_id t_init t_nc_write t_sim_init t_sim_mpi_init t_step \\\n", + "0 0.755573 3.819266 21.847542 0.000650 164.309420 \n", + "1 0.640923 1.762661 11.810046 0.000821 94.098560 \n", + "5 0.507208 1.252253 8.936866 0.000799 121.531043 \n", + "4 0.562472 0.697483 6.947314 0.018794 90.286328 \n", + "7 0.660878 0.574789 5.756451 0.000960 89.756629 \n", + "3 0.639691 0.427603 4.894204 0.001099 93.592929 \n", + "2 0.748003 0.310309 4.291747 0.000927 88.290830 \n", + "6 0.797432 0.171954 3.618473 0.001000 93.693081 \n", "\n", - " t_sim_mpi_init nx ny dt n_time_steps slurm_job_id \\\n", - "0 0.000957 4096.0 4096.0 0.00001 20002.0 216868.0 \n", - "1 0.000757 4096.0 2048.0 0.00001 20002.0 216869.0 \n", - "3 0.000739 4096.0 1365.0 0.00001 20002.0 216870.0 \n", - "4 0.000778 4096.0 1024.0 0.00001 20002.0 216871.0 \n", - "2 0.001344 4096.0 819.0 0.00001 20002.0 216872.0 \n", - "5 0.000755 4096.0 683.0 0.00001 20002.0 216873.0 \n", - "\n", - " n_cuda_devices n_processes \n", - "0 1 1 \n", - "1 2 2 \n", - "3 3 3 \n", - "4 4 4 \n", - "2 5 5 \n", - "5 6 6 \n" + " t_step_mpi t_step_mpi_halo_exchange t_total \n", + "0 140.046875 23.750000 191.498132 \n", + "1 70.695312 21.898438 109.181583 \n", + "5 99.964844 21.191406 132.867866 \n", + "4 38.195312 51.867188 99.346226 \n", + "7 45.941406 43.597656 97.349326 \n", + "3 54.195312 38.941406 100.244988 \n", + "2 73.683594 14.226562 94.291717 \n", + "6 51.875000 41.148438 99.006911 \n" ] } ], @@ -104,12 +102,12 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 9, "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfgAAAFzCAYAAADSXxtkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAe20lEQVR4nO3df5iXdZ3v8edbwPDn2iYZiddiHo5CCKgTmZ3E4+b6M023PWi2ZeVxbdWsPVrquqd299o9pm25XrU5/iDTVExWWGu9rPUHIjoGg4ICSoKZTmBMuiqGKOD7/PG9nZ1wmBlgvnz9fng+rmuu+X7uz33fn/fcjL7m/h2ZiSRJKst2jS5AkiQNPANekqQCGfCSJBXIgJckqUAGvCRJBTLgJUkq0OBGFzCQdt999xw5cmSjy5AkaauYN2/ebzNzWE99RQX8yJEjaW9vb3QZkiRtFRHxq431eYhekqQCGfCSJBXIgJckqUBFnYPvydq1a+no6GDNmjWNLkWbaejQoYwYMYIhQ4Y0uhRJahrFB3xHRwe77LILI0eOJCIaXY42UWby/PPP09HRwd57793ociSpaRR/iH7NmjW8613vMtybVETwrne9yyMwkrSJig94wHBvcv77SdKm2yYCXpKkbY0BvxXsvPPOPU4/7bTTmDZt2mat8+tf/zrf/OY3e+y7/PLLuf766zdrvZtixowZLF68eLOXf/rpp7npppu62o899hinnXbaAFQmSTLgC7Nu3TqmTJnCJz/5ybqPNdABv//++9PR0cEzzzwzEOVJ0jZtmwv4ya1t3Nr+LABr17/B5NY2pj/SAcCrr69ncmsbP16wHICX16xlcmsbdy5cAcALv3udya1t3LX4NwCsXLVpF35lJmeffTZjxozh2GOPZeXKlV198+bNY9KkSRx00EEceeSRrFhRG/Pqq6/mAx/4AOPHj+dP//RPWb16da9j3HPPPRx44IEMHly7QWLp0qV89KMfZfz48Rx44IEsW7aMzOT8889n7Nix7L///txyyy0AzJw5k8MOO4xPfOIT7Lfffpx66qlkJgAXXHABY8aMYdy4cZx33nk8+OCD3H777Zx//vlMmDCBZcuWbbTW0047jS9+8YsccsghvO997+s6anHBBRdw//33M2HCBL797W8D8LGPfYypU6du0naVJL3VNhfwjTR9+nSWLFnCY489xtVXX82DDz4I1O7VP+ecc5g2bRrz5s3jc5/7HH/9138NwEknncTcuXNZsGABo0eP5tprr+11jAceeICDDjqoq33qqady1llnsWDBAh588EGGDx/Obbfdxvz581mwYAF33XUX559/ftcfFI888giXX345ixcv5qmnnuKBBx7ghRdeYPr06SxatIhHH32Uiy++mEMOOYTjjz+eyy67jPnz57PPPvv0WuuKFSuYPXs2P/nJT7jgggsAuOSSS/jIRz7C/Pnz+fKXvwxAS0sL999//8BtdEnaRhV/H/yGbvmLD3V9HjJou99r77D9oN9r7zp0yO+1/3Cn7X+v/e5dhm7S2LNmzeKUU05h0KBBvPe97+Xwww8HYMmSJSxcuJAjjjgCgPXr1zN8+HAAFi5cyMUXX8yLL77IK6+8wpFHHtnrGCtWrGD06NEArFq1il//+teceOKJQO2BMQCzZ8/uqmOPPfZg0qRJzJ07l1133ZWJEycyYsQIACZMmMDTTz/NwQcfzNChQzn99NM59thjOe6443ocu7daP/7xj7PddtsxZswYfvOb32y0/ne/+90sX768z20pSerdNhfwjdbTLV+Zyfvf/37a2tre0nfaaacxY8YMxo8fz3XXXcfMmTN7Xf8OO+zQdc/4m4fXexpvY97xjnd0fR40aBDr1q1j8ODBzJkzh7vvvpupU6fyne98h3vuuWeTau2+3t7GX7NmDTvssMNG+yVJ/eMh+q3o0EMPZerUqaxfv54VK1Zw7733ArDvvvvS2dnZFfBr165l0aJFQG0vfPjw4axdu5Ybb7yxzzFGjx7N0qVLAdh1110ZMWIEM2bMAOC1115j9erVHHroodxyyy2sX7+ezs5OZs2axcSJEze6zldeeYWXXnqJY445hssvv5z58+cDsMsuu7Bq1aqu+Ta11g2XB/jFL37B2LFj+1xWktQ7A34rOvHEExk1ahT7778/X/jCF5g0aRIA22+/PdOmTeOrX/0q48ePZ8KECV3n5//+7/+eD37wgxxxxBHst99+fY5x9NFHM2vWrK72DTfcwBVXXMG4ceM45JBDeO655zjxxBMZN24c48eP5/DDD+fSSy/lPe95z0bXuWrVKo477jjGjRvHpEmTui6IO/nkk7nssss44IADWLZs2SbXOm7cOAYPHsz48eO71nnvvfdy7LHH9rmsJKl30dvh0mbT0tKS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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfgAAAFzCAYAAADSXxtkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAgFUlEQVR4nO3de5hddX3v8feXJBhQKAgRkfA04MmBREgCjIhYCUUpV0FQOyAUUTkUC3g5BQWLR61Pe6JYQaqVcIkIAkFSoGg5aLnEEBkkE5NALkQSRBgTyEgKBDCQhO/5Y6+M4zCZmSSzZzO/vF/PM8/s3++3Lt+9ZpLPrMteKzITSZJUlq0aXYAkSep/BrwkSQUy4CVJKpABL0lSgQx4SZIKZMBLklSgoY0uoD/tvPPOOWrUqEaXIUnSgJg9e/bvM3NEd2NFBfyoUaNobW1tdBmSJA2IiPjthsY8RC9JUoEMeEmSCmTAS5JUoKLOwXdnzZo1tLW1sXr16kaXok00fPhwRo4cybBhwxpdiiQNGsUHfFtbG9tttx2jRo0iIhpdjjZSZvLMM8/Q1tbGHnvs0ehyJGnQKP4Q/erVq9lpp50M90EqIthpp508AiNJG6n4gAcM90HOn58kbbwtIuAlSdrSGPAD4E1velO3/aeffjrTpk3bpGV+5Stf4Zvf/Ga3Y5deeinXXnvtJi13Y9x2220sXLhwk+d//PHHueGGGzraDz/8MKeffno/VCZJMuALs3btWqZMmcJHP/rRuq+rvwN+3333pa2tjSeeeKI/ypOkLdoWF/DNk1u4ufVJANase5XmyS3cOqcNgD+8so7myS38eN4yAJ5fvYbmyS3cOX85ACtffIXmyS3ctfBpAFas2rgLvzKTc845h7Fjx3LMMcewYsWKjrHZs2czceJEDjjgAI444giWL6+t88orr+Sd73wn48eP50Mf+hAvvfRSj+u455572H///Rk6tPYBiSVLlvD+97+f8ePHs//++7N06VIyk/PPP5999tmHfffdl5tuugmA6dOnc+ihh/LhD3+Yvffem1NOOYXMBOCCCy5g7NixjBs3jvPOO4/777+f22+/nfPPP58JEyawdOnSDdZ6+umn8+lPf5qDDz6YPffcs+OoxQUXXMB9993HhAkTuOSSSwD4wAc+wNSpUzdqu0qSXmuLC/hGuvXWW1m8eDEPP/wwV155Jffffz9Q+6z+ueeey7Rp05g9ezaf+MQn+Id/+AcATjzxRGbNmsW8efMYM2YMV199dY/r+MUvfsEBBxzQ0T7llFM4++yzmTdvHvfffz+77rort9xyC3PnzmXevHncddddnH/++R1/UMyZM4dLL72UhQsX8thjj/GLX/yClStXcuutt7JgwQIeeughLrroIg4++GCOO+44Lr74YubOncvb3/72Hmtdvnw5M2fO5Cc/+QkXXHABAJMmTeK9730vc+fO5XOf+xwATU1N3Hffff230SVpC1X85+C7uulv393xetiQrf6kvc3WQ/6kvf3wYX/SfvMbt/6T9lu2G75R654xYwYnn3wyQ4YM4W1vexuHHXYYAIsXL2b+/PkcfvjhAKxbt45dd90VgPnz53PRRRfx7LPP8sILL3DEEUf0uI7ly5czZswYAFatWsXvfvc7TjjhBKB2wxiAmTNndtSxyy67MHHiRGbNmsX222/PgQceyMiRIwGYMGECjz/+OAcddBDDhw/njDPO4JhjjuHYY4/tdt091frBD36QrbbairFjx/L0009vsP63vOUtLFu2rNdtKUnq2RYX8I3W3Ue+MpN3vOMdtLS0vGbs9NNP57bbbmP8+PFcc801TJ8+vcflb7PNNh2fGV9/eL279W3IG97who7XQ4YMYe3atQwdOpQHH3yQu+++m6lTp/Kd73yHe+65Z6Nq7bzcnta/evVqttlmmw2OS5L6xkP0A+iQQw5h6tSprFu3juXLl3PvvfcCsNdee9He3t4R8GvWrGHBggVAbS981113Zc2aNVx//fW9rmPMmDEsWbIEgO23356RI0dy2223AfDyyy/z0ksvccghh3DTTTexbt062tvbmTFjBgceeOAGl/nCCy/w3HPPcfTRR3PppZcyd+5cALbbbjtWrVrVMd3G1tp1foBf//rX7LPPPr3OK0nqmQE/gE444QRGjx7Nvvvuy6c+9SkmTpwIwNZbb820adP4whe+wPjx45kwYULH+fmvfe1rvOtd7+Lwww9n77337nUdRx11FDNmzOhoX3fddVx22WWMGzeOgw8+mKeeeooTTjiBcePGMX78eA477DC+8Y1v8Na3vnWDy1y1ahXHHnss48aNY+LEiR0XxJ100klcfPHF7LfffixdunSjax03bhxDhw5l/PjxHcu89957OeaYY3qdV5LUs+jpcOlg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\n", "text/plain": [ "
" ] @@ -142,7 +140,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -153,7 +151,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -164,12 +162,12 @@ }, { "cell_type": "code", - "execution_count": 101, + "execution_count": 12, "metadata": {}, "outputs": [ { "data": { - "image/png": "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9TZVOTk0PfMPjeris4PROe4jsGrVKlavXr1redGiRbRv3/6Q95OamsqiRYvw+Xxs3LiRH3/88TfbFBQUkJCQQHR0ND///DPff//9rnUej4eqqioAhg0bxptvvsnWwIw427dvJysr65AziYg4oXzlSqoDd9Kk3HE77V96UUV7LyrcR6C4uJgJEybQtWtXevbsyYoVK7jlllsOeT+DBg2iQ4cO9OjRg6uuuopjjz32N9uccsopVFdX07NnT2666Sb69++/a93kyZPp2bMn5557Ll27duW2225jxIgR9OzZk+HDh5OdnX0kP6aISL3wFhWRdf54tt7/AADuuDhc4eEOp2p4NK2n1Ar9PkTkcHmLS3DH+i84K549m8gePQgLsRm9DtWBpvVUi1tERBxTtnQZa08+mZK5cwGIHTy40Rftg1HhFhERx0Qc1ZGY448nrGVLp6MEDRVuERGpV2WLF/Pr//0dW1WFKyqK1vfdS0SHDk7HChoq3CIiUq+qNm+mbNEiqnJynI4SlELiPm4REWnYKjdupDJrA7HHD6LJqFHEnngirshIp2MFJRVuERGpczm3/JPKdevo+OknGI9HRfsIqHCLiEid8BYU+It0dDQt//lPjAHj8TgdK+jpHPcRiI2N3efzEydO5M033zysfd5yyy3cd999+1w3bdo0nn/++d8cozbn/96f3NzcXWOui4gcjK+khHXjTmfLvfcCEN6mNZ7WrR1OFRrU4g4S1dXVPPPMMyxYsOA36+p6/u/q6mqSk5NJSUnh22+/ZdCgQXV6PBEJXtZajDG4YmJInDCeqGP7OB0p5IRMizvr/PHkv+2fOctWVZF1/ngKAvNd+8rKyDp/PIUffQT8b1i9ws8+A6B6xw6yzh9P0Vez/Mu5uYd0bGstl112GV27duXUU0/dNU44wPz58xkyZAh9+vRh5MiRu4YfffLJJ+nbty+9evXijDPOoLS09IDH+Oqrrzj22GMJC/vtZ6295/++4YYb6NWrF/3792fLli2Av8V8xhln0LdvX/r27cu3334LwI8//sjAgQPp3bs3AwcOZNWqVYB/jvAzzzyTMWPGMGLECMA/H/hLL710SO+NiDQelRs3kvWncylf9QsAiRMmENWju8OpQk/IFG4nvfPOO6xatYqlS5fy5JNP8t133wFQVVXF5Zdfzptvvsn8+fOZNGkSN9xwAwCnn346P/30E4sXL6ZLly48/fTTBzzGt99+S58+B//kWlJSQv/+/Vm8eDGDBw/mySefBGDKlCn87W9/46effuKtt97iwgsvBOCYY45h9uzZLFy4kFtvvZXrr79+177mzp3Lc889x1dffQVARkYGc+bMOfQ3SEQaBVd0NL7iIqq3HVrjRw5NyHSVt3/h+V3fG49nj2VXVNQey+64uD2WwxIS9lxOTj6kY8+ePZtzzjkHt9tNq1atOOmkkwD/7GHLli1j+PDhAHi9XlJSUgBYtmwZN954I/n5+RQXFzNy5MgDHiM7O7tGY4GHh4czevRoAPr06cPnn38OwBdffLHHefDCwkKKioooKChgwoQJrF69GmPMrlnGAIYPH05iYuKu5ebNm7N58+aavCUi0khUb99O/ltv0ezCCwlr1owO772HcalNWJdCpnA7beec27uz1tKtWzfmBsbg3d3EiRN599136dWrFzNnzuTrr78+4P6joqL2Of/23naf/9vtdu+a89vn8zF37lyioqL22P7yyy/nxBNP5J133mH9+vUMHTp017qYmJg9ti0vL//N60WkcSv86GO2PfQwsUOGENm5s4p2PdA7XAsGDx7Mq6++itfrJTs7m1mz/OfKjz76aHJzc3cV7qqqKpYvXw5AUVERKSkpVFVV1ei8cZcuXVizZs1hZxwxYgTTp0/ftbxo0SLAP89368CVnjNnzjzgPn755Re6d9f5KpHGzldeTkVmJgAJfzqHtA/eJ7JzZ4dTNR4q3LVg3LhxdOrUiR49enDJJZcwZMgQwN9t/eabb3LNNdfQq1cv0tPTd53//te//kW/fv0YPnw4xxxzzEGPMWrUKGbPnn3YGR966CHmzZtHz5496dq1K48//jgAV199Nddddx2DBg3C6/UecB+zZs3i1FNPPewMIhIafr3qKjZeeBG+ykqMy0V4aqrTkRoVzccdRMaNG8c999xDp06dHDn+4MGDee+990jYx5R7jfH3IdKYWJ8PrMW43ZQtXYY3fwexJ5zgdKyQpfm4Q8Rdd92163ay+pabm8v//d//7bNoi0ho85WXs/HCi9j2xBMARPXorqLtIF2cFkSOPvpojj76aEeOnZyczGmnnebIsUXEWa7ISDytWx3yHTdSN4K6xR0M3fyNgX4PIqHHV1JCzu13UBUYxCnlX/8i4cwzHU4lEMSFOzIykry8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", + "image/png": "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\n", "text/plain": [ "
" ] @@ -210,12 +208,12 @@ }, { "cell_type": "code", - "execution_count": 108, + "execution_count": 13, "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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\n", "text/plain": [ "
" ] @@ -249,12 +247,95 @@ "plt.show()" ] }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "bar_width = 0.8\n", + "\n", + "share_init = (profiling_data[\"t_init\"]+profiling_data[\"t_sim_init\"])\n", + "share_mpi = profiling_data[\"t_step_mpi_halo_exchange\"]\n", + "share_simulate = profiling_data[\"t_step_mpi\"]\n", + "\n", + "plt.bar(profiling_data[\"n_processes\"], \n", + " share_init, color='red', edgecolor='white', width=bar_width, label=\"Init\")\n", + "\n", + "plt.bar(profiling_data[\"n_processes\"], \n", + " share_mpi, bottom=share_init, color='orange', edgecolor='white', width=bar_width, label=\"MPI\")\n", + "\n", + "plt.bar(profiling_data[\"n_processes\"], \n", + " share_simulate, bottom=share_init+share_mpi , color='green', edgecolor='white', width=bar_width, label=\"Simulate\")\n", + "\n", + "plt.xlabel(\"Number of cores/GPUs\")\n", + "plt.ylabel(\"Runtime (s)\")\n", + "plt.legend(loc=\"upper right\")\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "bar_width = 0.8\n", + "\n", + "share_init = (profiling_data[\"t_init\"]+profiling_data[\"t_sim_init\"])\n", + "share_mpi = profiling_data[\"t_step_mpi_halo_exchange\"]\n", + "share_simulate = profiling_data[\"t_step_mpi\"]\n", + "\n", + "\n", + "plt.bar(profiling_data[\"n_processes\"], \n", + " share_simulate, color='green', edgecolor='white', width=bar_width, label=\"Simulate\")\n", + "\n", + "plt.xlabel(\"Number of cores/GPUs\")\n", + "plt.ylabel(\"Runtime (s)\")\n", + "plt.legend(loc=\"upper right\")\n", + "\n", + "plt.show()" + ] + }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "1. Detaljert\n", + "2. Asynkron: up/download MPI/GPU-comm\n", + "3. Benchmark igjen på OSloMet\n", + "4. Sjekke reservasjon på Saga og DGX-2\n", + "5. Sjekke resultater for 3 subdomener" + ] } ], "metadata": { @@ -262,9 +343,9 @@ "hash": "03b7d1ad70da1aa36a01b3a4151457300569898b0e94ac4fd185ad5685456ae1" }, "kernelspec": { - "display_name": "Python 3.7.12 ('ShallowWaterGPU')", + "display_name": "ShallowWaterGPU_HPC", "language": "python", - "name": "python3" + "name": "shallowwatergpu_hpc" }, "language_info": { "codemirror_mode": { @@ -276,10 +357,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.12" - }, - "orig_nbformat": 4 + "version": "3.7.10" + } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/GPUSimulators/MPISimulator.py b/GPUSimulators/MPISimulator.py index 823960b..f2a58d7 100644 --- a/GPUSimulators/MPISimulator.py +++ b/GPUSimulators/MPISimulator.py @@ -204,6 +204,12 @@ class MPISimulator(Simulator.BaseSimulator): self.profiling_data_mpi = { 'start': {}, 'end': {} } self.profiling_data_mpi["start"]["t_step_mpi_halo_exchange"] = 0 self.profiling_data_mpi["end"]["t_step_mpi_halo_exchange"] = 0 + self.profiling_data_mpi["start"]["t_step_mpi_halo_exchange_download"] = 0 + self.profiling_data_mpi["end"]["t_step_mpi_halo_exchange_download"] = 0 + self.profiling_data_mpi["start"]["t_step_mpi_halo_exchange_upload"] = 0 + self.profiling_data_mpi["end"]["t_step_mpi_halo_exchange_upload"] = 0 + self.profiling_data_mpi["start"]["t_step_mpi_halo_exchange_sendreceive"] = 0 + self.profiling_data_mpi["end"]["t_step_mpi_halo_exchange_sendreceive"] = 0 self.profiling_data_mpi["start"]["t_step_mpi"] = 0 self.profiling_data_mpi["end"]["t_step_mpi"] = 0 self.profiling_data_mpi["n_time_steps"] = 0 @@ -343,7 +349,7 @@ class MPISimulator(Simulator.BaseSimulator): y1 = y0 + height return [x0, x1, y0, y1] - def exchange(self): + def exchange(self): #### # FIXME: This function can be optimized using persitent communications. # Also by overlapping some of the communications north/south and east/west of GPU and intra-node @@ -355,6 +361,9 @@ class MPISimulator(Simulator.BaseSimulator): #### #Download from the GPU + if self.profiling_data_mpi["n_time_steps"] > 0: + self.profiling_data_mpi["start"]["t_step_mpi_halo_exchange_download"] += time.time() + if self.north is not None: for k in range(self.nvars): self.sim.u0[k].download(self.sim.stream, cpu_data=self.out_n[k,:,:], asynch=True, extent=self.read_n) @@ -364,6 +373,10 @@ class MPISimulator(Simulator.BaseSimulator): self.sim.stream.synchronize() #Send/receive to north/south neighbours + if self.profiling_data_mpi["n_time_steps"] > 0: + self.profiling_data_mpi["end"]["t_step_mpi_halo_exchange_download"] += time.time() + self.profiling_data_mpi["start"]["t_step_mpi_halo_exchange_sendreceive"] += time.time() + comm_send = [] comm_recv = [] if self.north is not None: @@ -378,6 +391,10 @@ class MPISimulator(Simulator.BaseSimulator): comm.wait() #Upload to the GPU + if self.profiling_data_mpi["n_time_steps"] > 0: + self.profiling_data_mpi["end"]["t_step_mpi_halo_exchange_sendreceive"] += time.time() + self.profiling_data_mpi["start"]["t_step_mpi_halo_exchange_upload"] += time.time() + if self.north is not None: for k in range(self.nvars): self.sim.u0[k].upload(self.sim.stream, self.in_n[k,:,:], extent=self.write_n) @@ -386,6 +403,10 @@ class MPISimulator(Simulator.BaseSimulator): self.sim.u0[k].upload(self.sim.stream, self.in_s[k,:,:], extent=self.write_s) #Wait for sending to complete + if self.profiling_data_mpi["n_time_steps"] > 0: + self.profiling_data_mpi["end"]["t_step_mpi_halo_exchange_upload"] += time.time() + self.profiling_data_mpi["start"]["t_step_mpi_halo_exchange_sendreceive"] += time.time() + for comm in comm_send: comm.wait() @@ -396,6 +417,10 @@ class MPISimulator(Simulator.BaseSimulator): #### #Download from the GPU + if self.profiling_data_mpi["n_time_steps"] > 0: + self.profiling_data_mpi["end"]["t_step_mpi_halo_exchange_sendreceive"] += time.time() + self.profiling_data_mpi["start"]["t_step_mpi_halo_exchange_download"] += time.time() + if self.east is not None: for k in range(self.nvars): self.sim.u0[k].download(self.sim.stream, cpu_data=self.out_e[k,:,:], asynch=True, extent=self.read_e) @@ -405,6 +430,10 @@ class MPISimulator(Simulator.BaseSimulator): self.sim.stream.synchronize() #Send/receive to east/west neighbours + if self.profiling_data_mpi["n_time_steps"] > 0: + self.profiling_data_mpi["end"]["t_step_mpi_halo_exchange_download"] += time.time() + self.profiling_data_mpi["start"]["t_step_mpi_halo_exchange_sendreceive"] += time.time() + comm_send = [] comm_recv = [] if self.east is not None: @@ -420,6 +449,10 @@ class MPISimulator(Simulator.BaseSimulator): comm.wait() #Upload to the GPU + if self.profiling_data_mpi["n_time_steps"] > 0: + self.profiling_data_mpi["end"]["t_step_mpi_halo_exchange_sendreceive"] += time.time() + self.profiling_data_mpi["start"]["t_step_mpi_halo_exchange_upload"] += time.time() + if self.east is not None: for k in range(self.nvars): self.sim.u0[k].upload(self.sim.stream, self.in_e[k,:,:], extent=self.write_e) @@ -428,6 +461,13 @@ class MPISimulator(Simulator.BaseSimulator): self.sim.u0[k].upload(self.sim.stream, self.in_w[k,:,:], extent=self.write_w) #Wait for sending to complete + if self.profiling_data_mpi["n_time_steps"] > 0: + self.profiling_data_mpi["end"]["t_step_mpi_halo_exchange_upload"] += time.time() + self.profiling_data_mpi["start"]["t_step_mpi_halo_exchange_sendreceive"] += time.time() + for comm in comm_send: comm.wait() + + if self.profiling_data_mpi["n_time_steps"] > 0: + self.profiling_data_mpi["end"]["t_step_mpi_halo_exchange_sendreceive"] += time.time() \ No newline at end of file diff --git a/seymour_strong_scaling_benchmark.sh b/seymour_strong_scaling_benchmark.sh index 858dd0a..33fe534 100644 --- a/seymour_strong_scaling_benchmark.sh +++ b/seymour_strong_scaling_benchmark.sh @@ -36,4 +36,4 @@ mpiexec -n 8 python mpiTesting.py -nx 4096 -ny 512 --profile && mkdir -p output_seymour/$NOW/8_proc && mv *.log output_seymour/$NOW/8_proc/ && mv *.nc output_seymour/$NOW/8_proc/ && -for filename in *.json; do mv "$filename" "MPI_${NOW}_${filename#????}"; done; \ No newline at end of file +for filename in *.json; do mv "$filename" "output_seymour/$NOW/MPI_${NOW}_${filename#????}"; done;