{
"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
}