{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import util\n",
"import os\n",
"from IPython.core.display import Markdown\n",
"benchmark = 'microsphere'"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/markdown": [
"# microsphere benchmark\n",
"\n",
"The microrsphere benchmark runs a system of star polymers in an explicit solvent using DPD.\n",
"These organize into a microspherical droplet. This model is used in the research article:\n",
"[Zhang et. al. Simultaneous Nano- and Microscale Control of Nanofibrous Microspheres Self-Assembled from Star-Shaped Polymers. Advanced Materials, pages 3947–3952 , 2015.](http://dx.doi.org/10.1002/adma.201501329)\n",
"\n",
"\n",
"\n",
"Parameters:\n",
"\n",
"* $N = 1,428,364$\n",
"* $r_\\mathrm{cut} = 1.0$\n",
"* DPD pair force\n",
" * See `bmark.py` for full force field specification.\n",
"* Harmonic bond force\n",
"* Integration: DPD thermostat\n",
" * $T=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": {
"scrolled": false
},
"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 | 1,428,364 | Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz | **Tesla P100-PCIE-16GB** | 4 | 14.91 |\n",
"| 2018/01/15 | comet | gcc 4.9.2 | 8.0 | 2.2.2 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz | **Tesla P100-PCIE-16GB** | 16 | 24.17 |\n",
"| 2018/01/15 | comet | gcc 4.9.2 | 8.0 | 2.2.2 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz | **Tesla P100-PCIE-16GB** | 1 | 26.15 |\n",
"| 2016/10/23 | psg | gcc 4.8.5 | 8.0 | 2.1.1 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla P100-PCIE-16GB** | 16 | 7.35 |\n",
"| 2016/10/23 | psg | gcc 4.8.5 | 8.0 | 2.1.1 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla K80** | 64 | 7.65 |\n",
"| 2016/10/24 | titan | gcc 4.9.3 | 7.5 | 2.1.1 | double | 1,428,364 | 6-Core AMD Opteron(tm) Processor 23 (D0) | **Tesla K20X** | 16 | 15.80 |\n",
"| 2016/10/23 | psg | gcc 4.8.5 | 8.0 | 2.1.1 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla P100-PCIE-16GB** | 4 | 15.89 |\n",
"| 2016/10/23 | psg | gcc 4.8.5 | 8.0 | 2.1.1 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla K80** | 16 | 17.52 |\n",
"| 2016/10/23 | psg | gcc 4.8.5 | 8.0 | 2.1.1 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla P100-PCIE-16GB** | 1 | 25.79 |\n",
"| 2016/10/24 | titan | gcc 4.9.3 | 7.5 | 2.1.1 | double | 1,428,364 | 6-Core AMD Opteron(tm) Processor 23 (D0) | **Tesla K20X** | 4 | 37.61 |\n",
"| 2016/10/23 | psg | gcc 4.8.5 | 8.0 | 2.1.1 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla K40m** | 4 | 38.06 |\n",
"| 2016/10/23 | psg | gcc 4.8.5 | 8.0 | 2.1.1 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla K80** | 4 | 43.68 |\n",
"| 2016/10/23 | psg | gcc 4.8.5 | 8.0 | 2.1.1 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla K80** | 1 | 81.98 |\n",
"| 2016/10/23 | psg | gcc 4.8.5 | 8.0 | 2.1.1 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla K40m** | 1 | 100.15 |\n",
"| 2016/10/24 | titan | gcc 4.9.3 | 7.5 | 2.1.1 | double | 1,428,364 | 6-Core AMD Opteron(tm) Processor 23 (D0) | **Tesla K20X** | 1 | 101.71 |\n",
"| 2016/10/23 | psg | gcc 4.8.5 | 8.0 | 2.1.1 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla M40 24GB** | 1 | 143.05 |\n",
"| 2016/10/12 | psg | gcc 4.8.5 | 8.0 | 2.1.0 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla P100-PCIE-16GB** | 4 | 16.22 |\n",
"| 2016/10/12 | psg | gcc 4.8.5 | 8.0 | 2.1.0 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla K80** | 8 | 22.50 |\n",
"| 2016/10/12 | psg | gcc 4.8.5 | 8.0 | 2.1.0 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla P100-PCIE-16GB** | 1 | 25.74 |\n",
"| 2016/10/13 | psg | gcc 4.8.5 | 7.5 | 2.1.0 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla K40m** | 4 | 38.11 |\n",
"| 2016/10/13 | psg | gcc 4.8.5 | 7.5 | 2.1.0 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla M40 24GB** | 4 | 39.15 |\n",
"| 2016/10/12 | psg | gcc 4.8.5 | 8.0 | 2.1.0 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla K80** | 1 | 82.40 |\n",
"| 2016/10/13 | psg | gcc 4.8.5 | 7.5 | 2.1.0 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2698 v3 @ 2.30GHz | **Tesla M40 24GB** | 1 | 146.81 |\n",
"| 2016/09/13 | flux | gcc 4.9.3 | 7.5 | 2.0.3 | double | 1,428,364 | 6-Core AMD Opteron(tm) Processor 23 (D0) | **Tesla K20X** | 64 | 8.67 |\n",
"| 2016/09/13 | collins | gcc 4.8.5 | 7.5 | 2.0.3 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Tesla K40c** | 1 | 77.84 |\n",
"| 2016/09/13 | collins | gcc 4.8.5 | 7.5 | 2.0.3 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **TITAN X** | 1 | 83.06 |\n",
"| 2016/09/13 | collins | gcc 4.8.5 | 7.5 | 2.0.3 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Quadro M6000** | 1 | 155.31 |\n",
"| 2015/12/15 | collins | gcc 4.9.3 | 7.5 | 1.3.0 | single | 1,428,364 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Quadro M6000** | 1 | 37.94 |\n",
"| 2015/12/15 | collins | gcc 4.9.3 | 7.5 | 1.3.0 | single | 1,428,364 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Tesla K40c** | 1 | 59.75 |\n",
"| 2015/12/15 | collins | gcc 4.9.3 | 7.5 | 1.3.0 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Tesla K40c** | 1 | 88.60 |\n",
"| 2015/12/15 | collins | gcc 4.9.3 | 7.5 | 1.3.0 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Quadro M6000** | 1 | 166.13 |\n",
"| 2015/12/15 | collins | gcc 4.9.3 | 7.5 | 1.3.0 | single | 1,428,364 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Tesla C2070** | 1 | 202.82 |\n",
"| 2015/12/15 | collins | gcc 4.9.3 | 7.5 | 1.3.0 | double | 1,428,364 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Tesla C2070** | 1 | 356.29 |\n",
"| 2015/12/15 | collins | gcc 4.9.3 | 7.5 | 1.2.1 | single | 1,428,364 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Quadro M6000** | 1 | 37.42 |\n",
"| 2015/12/15 | collins | gcc 4.9.3 | 7.5 | 1.2.1 | single | 1,428,364 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Tesla K40c** | 1 | 59.90 |\n",
"| 2015/12/15 | collins | gcc 4.9.3 | 7.5 | 1.2.1 | single | 1,428,364 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Tesla C2070** | 1 | 204.49 |\n",
"| 2015/12/15 | collins | gcc 4.9.3 | 7.5 | 1.1.1 | single | 1,428,364 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Quadro M6000** | 1 | 25.20 |\n",
"| 2015/12/15 | collins | gcc 4.9.3 | 7.5 | 1.1.1 | single | 1,428,364 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Tesla K40c** | 1 | 41.72 |\n",
"| 2015/12/15 | collins | gcc 4.9.3 | 7.5 | 1.1.1 | single | 1,428,364 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **GeForce GTX 680** | 1 | 77.66 |\n",
"| 2015/12/15 | collins | gcc 4.9.3 | 7.5 | 1.1.1 | single | 1,428,364 | Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz | **Tesla C2070** | 1 | 131.49 |\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
}