{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "

Reflectometry simulations performance - Reusing an already performing engine

\n", "\n", "In this notebook, a naïve approach is taken to assess the feasibility of extracting the computing engine from Refnx and embed it *somewhere else*. In this particular case, the computatinal engine of Refnx was embedded into a single-purpose python api developed from scratch. The new [SWIG](http://www.swig.org/) api was put to the following tests for the [Ti-Ni bilayer model](https://www.bornagainproject.org/documentation/working-with-python/basic-simulation-tutorial/reflectometry/):\n", "\n", " - Time scaling with the number of layers\n", " - Time taken to run a simple simulation\n", " - Time scaling with the simulation resolution\n", "\n", "The accuracy of the results was demonstrated by comparison with results obtained by BornAgain and the timings were compared to the timings obtained using Refnx." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%reset -f\n", "import numpy as np\n", "from matplotlib import pyplot as plt\n", "import time" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def theta_to_q(theta, wavelength = 1.0):\n", " return 4.0 * np.pi * np.sin(theta*np.pi/180.0) / wavelength\n", "\n", "def q_to_theta(qvec, wavelength = 1.0):\n", " return 180.0 * np.arcsin( wavelength * qvec / (4.0*np.pi) ) / np.pi\n", "\n", "def plot_timings_comparison(timings_a, timings_b, x_label):\n", " FigSize = 7\n", " FontSize = 20\n", " BorderWidth = 3\n", " plt.rcParams.update({'font.size': FontSize})\n", " plt.rcParams.update({'axes.linewidth': BorderWidth}) \n", " plt.figure(figsize=(FigSize,FigSize))\n", " plt.plot(timings_a[:,0], timings_a[:,1], 'o-',label = \"Refnx\")\n", " plt.plot(timings_b[:,0], timings_b[:,1], 'o-',label = \"Reflectawesometry\")\n", " plt.legend()\n", " plt.grid()\n", " plt.ylabel(\"$t \\, [s]$\")\n", " plt.xlabel(x_label)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# Bornagain modules:\n", "import bornagain as ba\n", "\n", "def ba_reflectivity(multilayer,theta_vals):\n", " wavelength = 1.0 * ba.angstrom\n", " simulation = ba.SpecularSimulation()\n", " simulation.setBeamParameters(wavelength, theta_vals * ba.deg)\n", " simulation.setSample(multilayer)\n", " simulation.getOptions().setNumberOfThreads(1)\n", " simulation.runSimulation()\n", " results = simulation.result()\n", " simulation_data = results.data()\n", " return simulation_data.getArray()\n", "\n", "def run_ba_model(num_bilayers,theta_vals):\n", " # creating materials\n", " m_ambient = ba.MaterialBySLD(\"Ambient\", 0.0, 0.0)\n", " m_ti = ba.MaterialBySLD(\"Ti\", -2.0e-06, 0.0)\n", " m_ni = ba.MaterialBySLD(\"Ni\", 10.0e-06, 0.0)\n", " m_substrate = ba.MaterialBySLD(\"SiSubstrate\", 2.07e-06, 0.0)\n", " \n", " # creating layers\n", " ambient_layer = ba.Layer(m_ambient)\n", " ti_layer = ba.Layer(m_ti, 30 * ba.angstrom)\n", " ni_layer = ba.Layer(m_ni, 70 * ba.angstrom)\n", " substrate_layer = ba.Layer(m_substrate)\n", " \n", " # creating the multilayer\n", " ti_ni_multilayer = ba.MultiLayer()\n", " \n", " ti_ni_multilayer.addLayer(ambient_layer)\n", " for i in range(num_bilayers):\n", " ti_ni_multilayer.addLayer(ti_layer)\n", " ti_ni_multilayer.addLayer(ni_layer)\n", " ti_ni_multilayer.addLayer(substrate_layer)\n", " \n", " \n", " reflectivity_values = ba_reflectivity(ti_ni_multilayer,theta_vals)\n", " \n", " return reflectivity_values" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Refnx modules:\n", "import refnx, scipy\n", "from refnx.reflect import SLD, ReflectModel, Slab, Structure, LipidLeaflet\n", "\n", "def refnx_reflectivity(structure,qvals):\n", " return ReflectModel(structure, scale=1.0, bkg=0.0, dq=0.0).model(qvals)\n", "\n", "def run_refnx_model(num_bilayers,qvals):\n", " # set up the SLD objects for each layer\n", " sld_air = SLD(0.0 + 0.0j, name='air')\n", " sld_Ti = SLD(-1.9493 + 0.0j, name='Ti')\n", " sld_Ni = SLD(9.4245 + 0.0j, name='Ni')\n", " sld_Si = SLD(2.0704 + 0.0j, name='Si')\n", " \n", " # set up the Slab objects for each layer\n", " slab_air = Slab(0.0, sld_air, 0.0, name='air_slab')\n", " slab_Ti = Slab(30.0, sld_Ti, 0.0, name ='Ti_slab')\n", " slab_Ni = Slab(70.0, sld_Ni, 0.0, name ='Ni_slab')\n", " slab_Si = Slab(0.0, sld_Si, 0.0, name ='Si_slab')\n", "\n", " # set up the Structure object from the Slabs\n", " structure = Structure()\n", " \n", " structure.append(slab_air)\n", " for i in range(num_bilayers):\n", " structure.append(slab_Ti)\n", " structure.append(slab_Ni)\n", " structure.append(slab_Si)\n", " \n", " reflectivity_values = refnx_reflectivity(structure,qvals)\n", " \n", " return reflectivity_values" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The new module is called *Reflectawesometry*...\n", "...to highlight by contrast that it is nothing *awesome*. The module has only one function that calculates the reflectometry of the Ti-Ni multilayer model." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# The only thing inside this module is the function run_my_model, \n", "# which runs the \"N stacked Ti-Ni bilayers\" model\n", "from Reflectawesometry import run_my_model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 0. Test the accuracy of the calculations with respect to BornAgain:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "qvals = np.linspace(0.0,0.5,1025)\n", "theta = q_to_theta(qvals)\n", "\n", "#Reflectometry calculated by Bornagain:\n", "reflectometry = run_ba_model(10,theta)\n", "\n", "#Reflectometry calculated by the refnx engine:\n", "reflectawmetry = run_my_model(10,qvals)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.semilogy(qvals,reflectometry)\n", "plt.semilogy(qvals,reflectawmetry)\n", "#plt.xticks([qvals[0],qvals[-1]])\n", "plt.xlabel(\"Q\")\n", "plt.ylabel(\"Reflectivity\")\n", "plt.grid()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Check that the errors are of the order of $10^{-10}$\n", "\n", "We already know that [Refnx and BornAgain, for the Ti-Ni bilayer model, provide the same results](https://nbviewer.jupyter.org/github/juanmcloaiza/BornAgainReflectometryComparison/blob/master/LipidBilayerSimulation-Refnx-BA/Towards_the_Lipid_Bilayer_Model.ipynb) with an accuracy of $10^{-10}$. The question is: Does this hold true for the new *awesome* api? --Yes, it does:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.semilogy(qvals, 2.0 * np.abs(reflectometry-reflectawmetry)/np.abs(reflectometry+reflectawmetry), ':', \n", " label = \"$2 \\, |r_{1} - r_{2}|/|r_{2} + r_{1}|$\")\n", "plt.xlabel(\"Q\")\n", "plt.ylabel(\"Relative difference\")\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Time scaling with the number of Ti-Ni bilayers\n", "We already know from [another analysis](https://nbviewer.jupyter.org/github/juanmcloaiza/BornAgainReflectometryComparison/blob/master/PerformanceTests/BornAgain_Performance_Analysis.ipynb) that BornAgain has an $O(N^2)$ time-scaling, while Refnx scales as $O(N)$; What would be nice to show is that the bare Refnx computation engine embeded in the new *awesome* api not only scales as $O(N)$ but the computation time is also lower than that of Refnx.\n", "\n", "The time-scaling of the *awesome* api is $O(N)$, as expected --it would be really strange if this were not the case. Sadly, even the bare computation engine is slower than Refnx. Why? The bare computation engine is using `std::vector`s to interface with the *awesome* api in places where refnx is using bare arrays and pointer arithmetics, which is a more efficient way to go in demanding computational tasks. That *may* be the reason." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ba_t = []\n", "aw_t = []\n", "rfnx_t = []\n", "for n_bilayers in [100,200,300,400,500,600,700,800,900,1000]: \n", " aw_t0 = time.time()\n", " run_my_model(n_bilayers,qvals)\n", " aw_tf = time.time()\n", " aw_t.append([n_bilayers, aw_tf-aw_t0]) \n", " \n", " rfnx_t0 = time.time()\n", " run_refnx_model(n_bilayers,qvals)\n", " rfnx_tf = time.time()\n", " rfnx_t.append([n_bilayers, rfnx_tf-rfnx_t0]) \n", " \n", "ba_t = np.asarray(ba_t)\n", "aw_t = np.asarray(aw_t)\n", "rfnx_t = np.asarray(rfnx_t)\n", "plot_timings_comparison(rfnx_t,aw_t,\"Number of Ti-Ni bilayers\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# How many times is the *awesome* api slower than Refnx?\n", "\n", "The *awesome* api is slower than Refnx between 1.10 and 1.3 times." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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A8s6VBNBtWrV2L59e9hpfjSNFmtC+wFo4/19NVCoaQFVzVPVj1R1UmmCM6ay+Ne//kVGRgZ33313pfuCPvHEE5k8eTKrVq1i+PDhvPHGG5x55plceeWVLFq0KOwyu3bt4umnn6Zbt240bdq0nCM2wZo1axbV+LIUa0IbA7wqIktw1z37ex16Hhq/0IypHF5//XWGDx/ONddcw6OPPup3OL459thj+cc//sHq1at56KGH+Oijjzj//PO56KKLeOutt1DV/f2yHXLIIWzevJkWLVr4HXall56eflBzab49WhLrzTfgZOAeXIWQr4A9QD7wPTAbuB+4qjQ3+CraC6sUkpTKcn98+umnWrt2bW3durX+9ttvZbaeeCnPY2PHjh06duxYbdq0qQLarFkzrVGjRqkqH8SbfVacRKnlGPNzaKq6UlUfxXUfcwHunlprIB1YB3QCpsVavjHJbvXq1Vx55ZU0bNiQN95446BfuZVdnTp1GDZsGN9++y3PP/8869evZ8+ePYXmSdR+2SqbtLQ0cnNzmT9/Prm5ub49J1mqB6tFpCqup+p8Vd2tqp+p6rOqOlRVL1RV6zK2AglczunYsSOpqakJ2SNxsvj111/p0qULO3fuZO7cuTRq1MjvkBJWjRo16NevH/n5+WGnJ1q/bMY/pUpoqpoPTAAscVVwgW5KVq9ejaru76bEklr87d27l+7du7Ny5UpeffVVTj31VL9DqhASqfKBSUzxaPrqI9z9NFOBjRo1qlB/V+Au54wcOdKniJKTqjJw4EDeffddJk+ezCWXXOJ3SBVGQlU+MAkpHgltMpAuIsfFoSzjk0iXbdasWUOnTp34+9//zkcffVQmjctWJo888gjPPvsso0aN4qabbvI7nAolLS2NyZMnV7h2LU35KXWP1cCL3vALEZkLvA8sAZapal7kxUwiadasGatXrz5ofL169di4ceP+G+9169blggsuoGPHjnTo0IGzzz6bqlWrlne4FdJLL73EiBEj6NWrF3/961/9DqdCSktLswRmIorHGVqg6at0XBX+oVjTVxVOenr6QV2s165dm4kTJ7J8+XI2bdrEyy+/TJ8+fcjNzeWee+7hvPPO44gjjuCqq67iiSeeYNmyZRQUFPi0BYlt0aJF9O3blwsuuIDnnnsOEfE7JGOSTonP0EQkDchR1XXB473/1wFzg+atDbTE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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.plot(aw_t[:,0],aw_t[:,1]/rfnx_t[:,1], 'ko-')\n", "\n", "plt.xlabel(\"Number of stacked Ti-Ni bilayers\")\n", "plt.ylabel(\"$t_{aw}$ / $t_{rfnx}$\")\n", "\n", "plt.grid()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Is this due to multithreading?\n", "\n", "Check with `top` that no more than 100% CPU is used:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### BornAgain:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "dummy_ref = run_ba_model(1000,theta)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sample output of `top` command (`%CPU` column is no more than 100%):\n", "```\n", " PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND\n", "[...]\n", "24474 juan 20 0 1575596 151064 46436 R 26,9 0,5 1:06.94 python3.5\n", "24474 juan 20 0 1581060 156064 46436 R 100,0 0,5 1:09.95 python3.5\n", "24474 juan 20 0 1581060 156064 46436 R 100,3 0,5 1:12.96 python3.5\n", "24474 juan 20 0 1581060 156064 46436 R 100,0 0,5 1:15.97 python3.5\n", "24474 juan 20 0 1581060 156064 46436 R 100,0 0,5 1:18.98 python3.5\n", "24474 juan 20 0 1581060 156064 46436 R 100,3 0,5 1:21.99 python3.5\n", "[...]\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Refnx:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "dummy_ref = run_refnx_model(20000,qvals)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sample output of `top` command (`%CPU` column is no more than 100%):\n", "```\n", " PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND\n", "[...]\n", "25500 juan 20 0 1663824 165000 46452 R 100,0 0,5 0:59.32 python3.5\n", "25500 juan 20 0 1663824 165000 46452 R 106,2 0,5 0:59.49 python3.5\n", "25500 juan 20 0 1663824 165000 46452 R 100,0 0,5 0:59.63 python3.5\n", "25500 juan 20 0 1663824 165000 46452 R 100,0 0,5 0:59.78 python3.5\n", "25500 juan 20 0 1663824 165000 46452 R 99,7 0,5 1:02.78 python3.5\n", "25500 juan 20 0 1663824 165000 46452 R 100,3 0,5 1:05.79 python3.5\n", "25500 juan 20 0 1663824 165000 46452 R 100,0 0,5 1:08.80 python3.5\n", "[...]\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### *Awesome* api:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "dummy_ref = run_my_model(20000,qvals)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sample output of `top` command (`%CPU` column is no more than 100%):\n", "```\n", " PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND\n", "[...]\n", "25500 juan 20 0 1658392 159924 46452 R 104,5 0,5 1:51.65 python3.5 \n", "25500 juan 20 0 1658392 159924 46452 R 95,5 0,5 1:51.86 python3.5 \n", "25500 juan 20 0 1658392 159924 46452 R 100,0 0,5 1:52.09 python3.5 \n", "25500 juan 20 0 1658392 159924 46452 R 100,0 0,5 1:52.30 python3.5 \n", "25500 juan 20 0 1658392 159924 46452 R 100,0 0,5 1:52.68 python3.5 \n", "25500 juan 20 0 1658392 159924 46452 R 100,0 0,5 1:53.01 python3.5 \n", "25500 juan 20 0 1658392 159924 46452 R 100,0 0,5 1:53.31 python3.5 \n", "25500 juan 20 0 1658392 159924 46452 S 103,0 0,5 1:54.56 python3.5 \n", "[...]\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Conclusions\n", "\n", "This notebook and the code attached to it (Reflectawesometry) provided both a pedagogical excercise and a measure of the effort required to take a computing engine from *one place* and embedding it on *another place*." ] } ], "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.5.2" } }, "nbformat": 4, "nbformat_minor": 2 }