{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import util\n", "import os\n", "from IPython.core.display import Markdown\n", "benchmark = 'quasicrystal'" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "# quasicrystal benchmark\n", "\n", "The quasicrystal benchmark runs a system of particles with an oscillatory pair potential that forms an icosahedral\n", "quasicrystal. This model is used in the research article:\n", "[Engel M, et. al. (2015) Computational self-assembly of a one-component icosahedral quasicrystal, Nature materials 14(January), p. 109-116,](http://dx.doi.org/10.1038/NMAT4152)\n", "\n", "\n", "\n", "Parameters:\n", "\n", "* $N = 100000$\n", "* $\\rho = 0.03$\n", "* Tabulated pair force\n", " * $$V = \\frac{1}{r^{15}} + \\frac{\\cos(k (r - 1.25) - \\phi)}{r^3}$$\n", " * $k = 6.25$\n", " * $\\phi = 0.62$\n", "* Integration: Nosé-Hoover NVT\n", " * $T=0.18$\n", " * $\\tau=1.0$\n", " * $\\delta t = 0.01$\n" ], "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Markdown(open(os.path.join(benchmark, 'README.md'), 'r').read())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Performance data\n", "\n", "Performance results are reported in hours to complete ten million time steps." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "| Date | System | Compiler | CUDA | HOOMD | Precision | N | CPU | GPU | Ranks | Time for 10e6 steps (hours)|\n", "|------|--------|----------|------|-------|-----------|---|-----|-----|-------|---------------:|\n", "| 2018/01/15 | comet | gcc 4.9.2 | 8.0 | 2.2.2 | double | 100,000 | Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz | **Tesla P100-PCIE-16GB** | 1 | 3.45 |\n", "| 2016/10/23 | psg | gcc 4.8.5 | 8.0 | 2.1.1 | double | 100,000 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla P100-PCIE-16GB** | 1 | 3.27 |\n", "| 2016/10/23 | psg | gcc 4.8.5 | 8.0 | 2.1.1 | double | 100,000 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla K80** | 1 | 10.07 |\n", "| 2016/10/23 | psg | gcc 4.8.5 | 8.0 | 2.1.1 | double | 100,000 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla K40m** | 1 | 10.93 |\n", "| 2016/10/23 | psg | gcc 4.8.5 | 8.0 | 2.1.1 | double | 100,000 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla M40 24GB** | 1 | 18.58 |\n", "| 2016/10/12 | psg | gcc 4.8.5 | 8.0 | 2.1.0 | double | 100,000 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla P100-PCIE-16GB** | 1 | 3.34 |\n", "| 2016/10/12 | psg | gcc 4.8.5 | 8.0 | 2.1.0 | double | 100,000 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla K80** | 1 | 10.22 |\n", "| 2016/10/13 | psg | gcc 4.8.5 | 7.5 | 2.1.0 | double | 100,000 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla K40m** | 1 | 11.64 |\n", "| 2016/10/13 | psg | gcc 4.8.5 | 7.5 | 2.1.0 | double | 100,000 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla M40 24GB** | 1 | 19.53 |\n", "| 2016/09/13 | collins | gcc 4.8.5 | 7.5 | 2.0.3 | double | 100,000 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Tesla K40c** | 1 | 10.27 |\n", "| 2016/09/13 | collins | gcc 4.8.5 | 7.5 | 2.0.3 | double | 100,000 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **TITAN X** | 1 | 11.28 |\n", "| 2016/09/13 | collins | gcc 4.8.5 | 7.5 | 2.0.3 | double | 100,000 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Quadro M6000** | 1 | 21.24 |\n", "| 2016/09/13 | collins | gcc 4.8.5 | 7.5 | 2.0.3 | double | 100,000 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **GeForce GTX 680** | 1 | 31.29 |\n", "| 2015/12/14 | collins | gcc 4.9.3 | 7.5 | 1.3.0 | single | 100,000 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Quadro M6000** | 1 | 5.51 |\n", "| 2015/12/14 | collins | gcc 4.9.3 | 7.5 | 1.3.0 | single | 100,000 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Tesla K40c** | 1 | 8.28 |\n", "| 2015/12/14 | collins | gcc 4.9.3 | 7.5 | 1.3.0 | double | 100,000 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Tesla K40c** | 1 | 10.70 |\n", "| 2015/12/14 | collins | gcc 4.9.3 | 7.5 | 1.3.0 | single | 100,000 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **GeForce GTX 680** | 1 | 15.79 |\n", "| 2015/12/14 | collins | gcc 4.9.3 | 7.5 | 1.3.0 | double | 100,000 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Quadro M6000** | 1 | 22.75 |\n", "| 2015/12/14 | collins | gcc 4.9.3 | 7.5 | 1.3.0 | single | 100,000 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Tesla C2070** | 1 | 23.29 |\n", "| 2015/12/14 | collins | gcc 4.9.3 | 7.5 | 1.3.0 | double | 100,000 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Tesla C2070** | 1 | 31.43 |\n", "| 2015/12/14 | collins | gcc 4.9.3 | 7.5 | 1.3.0 | double | 100,000 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **GeForce GTX 680** | 1 | 32.27 |\n", "| 2015/12/14 | collins | gcc 4.9.3 | 7.5 | 1.2.1 | single | 100,000 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Quadro M6000** | 1 | 5.23 |\n", "| 2015/12/14 | collins | gcc 4.9.3 | 7.5 | 1.2.1 | single | 100,000 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Tesla K40c** | 1 | 8.45 |\n", "| 2015/12/14 | collins | gcc 4.9.3 | 7.5 | 1.2.1 | single | 100,000 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **GeForce GTX 680** | 1 | 16.18 |\n", "| 2015/12/14 | collins | gcc 4.9.3 | 7.5 | 1.2.1 | single | 100,000 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Tesla C2070** | 1 | 23.54 |\n", "| 2015/12/14 | collins | gcc 4.9.3 | 7.5 | 1.1.1 | single | 100,000 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Quadro M6000** | 1 | 3.18 |\n", "| 2015/12/14 | collins | gcc 4.9.3 | 7.5 | 1.1.1 | single | 100,000 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Tesla K40c** | 1 | 4.84 |\n", "| 2015/12/14 | collins | gcc 4.9.3 | 7.5 | 1.1.1 | single | 100,000 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **GeForce GTX 680** | 1 | 7.05 |\n", "| 2015/12/14 | collins | gcc 4.9.3 | 7.5 | 1.1.1 | single | 100,000 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Tesla C2070** | 1 | 13.05 |\n" ], "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rows = util.read_rows(benchmark)\n", "table = util.make_table(rows)\n", "Markdown(table)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "The raw code for this IPython notebook is by default hidden for easier reading.To toggle on/off the raw code, click here." ], "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import HTML\n", "\n", "#Hide code blocks\n", "HTML('''\n", "The raw code for this IPython notebook is by default hidden for easier reading.To toggle on/off the raw code, click here.''')" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "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.6.4" } }, "nbformat": 4, "nbformat_minor": 1 }