{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Obliczamy $\\pi$ metod\u0105 Monte-Carlo w CUDA.\n", "\n", "Pierwszy program wykorzystuj\u0105cy CUDA, b\u0119dzie oblicza\u0142 $\\pi$ metod\u0105 statystyczn\u0105. \n", "\n", "Opis metody\n", "-----------\n", "\n", "Jedn\u0105 z metod obliczania przybli\u017conej warto\u015bci liczby $\\pi$ jest metoda polegaj\u0105ca na pomiarze prawdopodobie\u0144stwa trafiena o obszar, b\u0119d\u0105cy ko\u0142em. \n", "Za\u0142\u00f3\u017cmy, \u017ce mamy mo\u017cliwo\u015b\u0107 wylosowania z rozk\u0142adem jednostajnym punktu w kwadracie o jednostkowym boku. Je\u017celi teraz zliczymy ilo\u015bc punkt\u00f3w zawartych w dowolnej figurze wewn\u0105trz tego kwadratu, to liczba ta b\u0119dzie proporcjonalna do powierzfchni tej figury. Zastosujmy t\u0105 obserwacj\u0119 do ko\u0142a o promieniu $r = \\frac{1}{2}$ wpisanego w nasz kwadrat. Powierznia takiego ko\u0142a wynosi $P=\\pi r^2 = \\frac{\\pi}{4}$. Obliczaj\u0105c wi\u0119c stosunek liczby punkt\u00f3w zawartych w tym kole do wszystkich punkt\u00f3w otrzymamy $\\frac{\\pi}{4}$. \n", "\n", "0. Kiepska metoda obliczania $\\pi$\n", "1. U\u017cycie curand oraz r\u00f3wnoleg\u0142ej redukcji w pycuda\n", "2. Ile czasu zajmuje posumowanie 4GB RAM ;-)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Implementacja\n", "\n", "\n", "Wykorzystamy bibliotek\u0119 pyCUDA w w szczeg\u00f3lnosci funkcjonalno\u015b\u0107 gpuarray. Ponadto b\u0119dziemy korzysta\u0107 z wbudowanych generator\u00f3w liczb losowych. \n", "\n", "Wykorzystanie gpuarray nie wymaga zbyt obszernej wiedzy o architekturze CUDA. Nie b\u0119dziemy musieli pisa\u0107 w\u0142asnego \"kernela\". Pomino tego gpuaray oferuje niezwykle du\u017co mo\u017cliwo\u015bci, kt\u00f3re mog\u0105 by\u0107 przydatne do rozwi\u0105zywania problem\u00f3w napotkanych w naukach \u015bcis\u0142ych lub in\u017cynierii.\n", "\n", "### Redukcja r\u00f3wnoleg\u0142a\n", "\n", "\n", "Wysumowanie warto\u015bci w wektorze wykonane z wykorzystaniem procesora r\u00f3wnoleglego jest zwane problemem redukcji r\u00f3wnoleg\u0142ej. Efektywna implementacja redukcji r\u00f3wnoleg\u0142ej na CUDA wymaga mistrzowskiej znajomo\u015bci architektury. Naiwne implementacje z regu\u0142y zani\u017caj\u0105potencjaln\u0105 wydajno\u015b\u0107 kilka lub kilkadziesi\u0105t razy. W bibliotece pycuda mamy zaimplementowany szablo j\u0105dra redukcji, kt\u00f3ry mo\u017cemy wykorzyta\u0107, nie wnikaj\u0105c w szczeg\u00f3\u0142y jego implementacji. \n", "\n", "### Struktura programu\n", "\n", "\n", "Nasz program b\u0119dzie sk\u0142ada\u0142 si\u0119 z nast\u0119puj\u0105cych element\u00f3w:\n", "\n", "1. Zainicjalizujemy kontekst na wybranym urz\u0105dzeniu\n", "2. Definiujemy j\u0105dro redukcji z szablonu w pyCUDA. Operatorem redukcji b\u0119dzie suma, a przed wykonaniem operacji wywolujemy funkcj\u0119 kt\u00f3ra daje jedynk\u0119 jesli punkt nale\u017cy do naszego ko\u0142a\n", "3. Generujemy losowe liczby z przedzia\u0142u $(0,1)$ bezpo\u015brednio w pami\u0119ci urz\u0105dzenia.\n", "4. Wykonujemy j\u0105dro na liczbach losowych i dzielimy otrzyman\u0105 warto\u015b\u0107 przez $4$. Powinni\u015bmy otrzyma\u0107 przybli\u017con\u0105 warto\u015b\u0107 $\\pi$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Co jest ciekawego w tym algorytmie?\n", "\n", "Nale\u017ce podkre\u015bli\u0107, \u017ce taka metoda obliczania liczby $\\pi$ jest wyj\u0105tkowo kiepska. Dlateczogo wi\u0119c chcemy ja zaimplementowa\u0107 i to do tego na GPU?\n", "\n", "Poni\u017csza implementacja ma nast\u0119puj\u0105ce walory dydaktyczne:\n", "\n", "1. Pokazuje naocznie jak szybko przebiegaj\u0105 operacje - np. zape\u0142nienia 1GB pami\u0119ci liczbami losowymi\n", "2. Korzysta z kernela redukcji r\u00f3wnoleg\u0142ej. Jest to niezwykle po\u017cyteczny kernel. Warto zauwa\u017cy\u0107, \u017ce wykonuje on *de facto* operacje identyczn\u0105 do tej, kt\u00f3ra wyst\u0119puje w ca\u0142kowanie numerycznym - czyli liczeniu kwadratury. Innymi s\u0142owy mamy szablon programu ca\u0142kuj\u0105cego!\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Inicjalizacja" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import pycuda.gpuarray as gpuarray\n", "\n", "import numpy\n", "from pycuda.curandom import rand as curand\n", "from pycuda.compiler import SourceModule\n", "import pycuda.driver as cuda\n", "\n", "try:\n", " ctx.pop()\n", " ctx.detach()\n", "except:\n", "\n", " print \"No CTX!\"\n", "\n", "cuda.init()\n", "device = cuda.Device(0)\n", "ctx = device.make_context()\n", "print device.name(), device.compute_capability(),device.total_memory()/1024.**3,\"GB\"\n", "print \"W systemie mamy :\",cuda.Device.count(), \" urz\u0105dzenia\"\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "GeForce GTX 680 (3, 0) 3.99932861328 GB\n", "W systemie mamy : 1 urz\u0105dzenia\n" ] } ], "prompt_number": 31 }, { "cell_type": "markdown", "metadata": {}, "source": [ "# J\u0105dro redukcji\n", "\n", "Kod operacji wykonanej na ka\u017cdej parze liczb przed redukcj\u0105:\n", "\n", " signbit( (powf(x[i]-0.5f,2.0f)+powf(y[i]-0.5f,2.0f))-0.25f )\n", " \n", "Zauwa\u017cmy:\n", "\n", "1. U\u017cywamy funkcji i zmiennych o pojedy\u0144czej precyzji\n", "2. Funkcja signbit zwraca znak wyra\u017cenia jako liczb\u0119 ca\u0142kowit\u0105\n", "\n", "\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from pycuda.reduction import ReductionKernel\n", "\n", "krnl = ReductionKernel(numpy.dtype(numpy.int32), neutral=\"0\",\n", " reduce_expr=\"a+b\", \n", " map_expr=\"signbit( (powf(x[i]-0.5f,2.0f)+powf(y[i]-0.5f,2.0f))-0.25f )\",\n", " arguments=\"float *x, float *y\")" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 41 }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Generacja liczb losowych na urz\u0105dzeniu\n", "\n", "Funkcja curand pozwala nam skorzysta\u0107 z wbudowanego generatora liczb losowych w CUDA. Mo\u017cemy z jej pomoc\u0105 zape\u0142ni\u0107 ca\u0142\u0105 pami\u0119\u0107 liczbami losowymi z przedzia\u0142u $(0,1)$. Sprawd\u017amy najpiew ile mamy na GPU pami\u0119ci:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "(free,total)=cuda.mem_get_info()\n", "free,total" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 32, "text": [ "(3515383808, 4294246400)" ] } ], "prompt_number": 32 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Poniewa\u017c chcemy zapisywa\u0107 liczny w pojedynczej prezycji, to mamy mo\u017cliwo\u015b\u0107 zaalokowania pami\u0119ci na: " ] }, { "cell_type": "code", "collapsed": false, "input": [ "free/4" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 33, "text": [ "878845952" ] } ], "prompt_number": 33 }, { "cell_type": "markdown", "metadata": {}, "source": [ "liczb 4 bajtowych." ] }, { "cell_type": "code", "collapsed": false, "input": [ "%%time \n", "print cuda.mem_get_info()[0]/1024**2\n", "N = 800000000\n", "a = curand((N/2,))\n", "b = curand((N/2,))\n", "ctx.synchronize()\n", "print cuda.mem_get_info()[0]/1024**2" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "3352\n", "300" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n", "CPU times: user 196 ms, sys: 56 ms, total: 252 ms\n", "Wall time: 420 ms\n" ] } ], "prompt_number": 38 }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Zadanie\n", "\n", "Poeksperymentuj ze zwalnianiem pami\u0119ci wykonuj\u0105c np. takie operacje:\n", "\n", " del a\n", " print cuda.mem_get_info()[0]/1024**2\n", " del b\n", " print cuda.mem_get_info()[0]/1024**2" ] }, { "cell_type": "code", "collapsed": false, "input": [ "%%time \n", "for i in range(10):\n", " a1= a.get()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "CPU times: user 3.62 s, sys: 3.84 s, total: 7.46 s\n", "Wall time: 7.48 s\n" ] } ], "prompt_number": 39 }, { "cell_type": "code", "collapsed": false, "input": [ "cuda.mem_get_info()[0]/1024.**3" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 59, "text": [ "0.290557861328125" ] } ], "prompt_number": 59 }, { "cell_type": "code", "collapsed": false, "input": [ "%%time \n", "pole = float(krnl(a, b).get())/(N/2)\n", "ctx.synchronize()\n", "\n", "print \"OK\"" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "OK\n", "CPU times: user 96 ms, sys: 0 ns, total: 96 ms\n", "Wall time: 95.3 ms\n" ] } ], "prompt_number": 50 }, { "cell_type": "code", "collapsed": false, "input": [ "print 4*pole,\"Pi z %d milion\u00f3w losowa\u0144!\"%(N/2/1e6)\n", "print np.pi" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "3.14158223 Pi z 400 milion\u00f3w losowa\u0144!\n", "3.14159265359\n" ] } ], "prompt_number": 51 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 54 }, { "cell_type": "code", "collapsed": false, "input": [ "try:\n", " ctx.pop()\n", " ctx.detach()\n", " print \"OK!\"\n", "except:\n", " print \"No CTX!\"\n" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "OK!\n" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Wykres \n", "\n", "*... warto uwa\u017ca\u0107 ile punkt\u00f3w si\u0119 rysuje...*" ] }, { "cell_type": "code", "collapsed": false, "input": [ "x,y = a.get()[::100000],b.get()[::100000]\n", "plot(x,y,'.')\n", "c = (x-0.5)**2+(y-0.5)**2<0.25\n", "plot(x[c],y[c],'.')\n", " " ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 17, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n0aP5Q6F8M4BprnEzv+jES/uEOEG7dOKmVDKhQEVvDAU907TK1YAC9uei5Z73DCeb15R4cnIIVfsy\nVZaAnR4AsCM0dI5YOW1fkOV6mmTczD3ponScKIrF7ks4IlVIq3T7L7BiLIfkwg5lDawo4/ZsmJwo\nbqJ71gYb5WAI6M/FqN6ZyEa+wWEkPw9dWXKMCO2zdNBhbgsHeu+yiPZEsjm745YtwLFj/LfKSmDC\nBL05VoYsejEJqySdhWt5OcDJADJT7mDDJLqqGhoYGzuWsViMsZtuYiwe55+6Ov6Xyvz5jHGjDGMl\nJeb/tbX8s3Chec0tt/DfZs+2l3OupHjpLQzNYOHGGlbauJC1tbtX1NYeZ+UP13k6t2pZA4ssnc+K\nl95inC+O+VYUMzSDYWWMtbzbZrQlt3G2reyWd9uYf1k5a3m3Tdl+1TXptlV1rlP76bHI0vn8XlKf\nsY21RllubWhrj7PSxoVsbGMta2uPu96TTmgbyh+us31X3aeuLq/9etmX7zP6ouXdNs99zRhjvqZC\nS3/RfsXKiPFbaeNCT+Xp+nnSI/UMj4Usz4f2h9ey2trjzLe81Cxn1ShjPNK+9qfOoX0n96dqDAnB\nyphZx1eyjfczvLiWzZkfZ7fcYuqDWMzUIUVF5v91ituLx7l+qa09O30i9FJxMWNjxjBWWGjqPca4\nPpw/n583Z45oU2ZqethX7rKks92hK/pIhK/Wi4u5Z3tgwLSFpUPoczYiwyHTIafyIm7QQOq0y4Qt\n0Cl5Qzpbet11bu0XZg1q008Hzqmq348Qsn15yPVHLHZWt/J0yTgw5Ad6oxifXIDOoY8s5en6/GwS\nUHjtfxGn4DtThPy+KThVsAMIpvi0U2aITPrSMdgMmT8fIOWsJZHRYsfhRlbm5DyVI1NFv+BMIfL7\nr8CZUBu21LfiK39baVsxjxvHnZijRnHd8cYbXLdMm2ZaBc42ml4WnXNVkInRhEPCJ3nRmGVkodud\n/HzOvaALbqIKG1B3Uia2sLOhM1AF6QCZURPo8NMUdy3TmOqiU93K9upopKHsXq8T9n+htHXmB2rW\n8J8uA4aCyBuscMxb6ZVNU84WlK4P4NCxBCb8nxKTw584DtPBqTuJF6SMm1npaGgLWO4x+wn9eSjo\nnpl2DlBboE+gFUP5h4HBIKKdN+APjzpz2Lv1B81n6+sphm8wjHCyzECHuTniAW85fKnJMeuDOoz6\n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\n", "text": [ "" ] } ], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## CPU\n", "\n", "Aby si\u0119 przekona\u0107, czy GPU rzeczywi\u015bcie wykona\u0142 powy\u017csze operacje szybciej ni\u017c CPU, sprawd\u017amy jak szybko wykona si\u0119 kod skompilowany przez cythona. Cython daje wyniki nie gorsze od czystego \"C\"." ] }, { "cell_type": "code", "collapsed": false, "input": [ "%load_ext cythonmagic" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "The cythonmagic extension is already loaded. To reload it, use:\n", " %reload_ext cythonmagic\n" ] } ], "prompt_number": 100 }, { "cell_type": "code", "collapsed": false, "input": [ "%%cython\n", "\n", "cdef extern from \"stdlib.h\":\n", " int RAND_MAX\n", "\n", "from libc.stdlib cimport rand\n", "from libc.math cimport pow\n", "\n", "def cpu_rand():\n", "\n", " cdef double a,b\n", " cdef long n=0\n", " for i in range(800000000):\n", " a = float(rand())/RAND_MAX\n", " b = float(rand())/RAND_MAX\n", " if pow(a-0.5,2.0)+pow(b-0.5,2.0)-0.25<0:\n", " n=n+1\n", " \n", " return n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 101 }, { "cell_type": "code", "collapsed": false, "input": [ "%%time \n", "cpu_rand()" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "CPU times: user 26.7 s, sys: 0 ns, total: 26.7 s\n", "Wall time: 26.6 s\n" ] }, { "metadata": {}, "output_type": "pyout", "prompt_number": 99, "text": [ "628317563" ] } ], "prompt_number": 99 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Mamy wi\u0119c ok 30s na CPU i ok 300ms na GPU - czyli ok 100x !\n", "Nale\u017cy jednak zauwa\u017cy\u0107, \u017ce na GPU wykonywali\u015bmy alokacj\u0119 wszystkich liczb w pami\u0119ci a potem ich r\u00f3wnoleg\u0142\u0105 redukcj\u0119. Jest to niezbyt optymalne i mo\u017cna by si\u0119 spodziewa\u0107 dalszego wzrostu wzgl\u0119dnej wydajno\u015bci jesli by por\u00f3wnywa\u0107 dok\u0142adnie te same algorytmy.\n", "\n", "Zobaczmy jeszcze czy na CPU $\\pi=3.14$:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "628317563/800000000.*4" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 102, "text": [ "3.141587815" ] } ], "prompt_number": 102 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Zadania\n", "\n", "### Szybsze obliczanie $\\pi$ na GPU\n", "\n", "Czy mo\u017cna zmodyfikowa\u0107 algorytm tak by obicza\u0142 $\\pi$ jeszcze szybciej? (oczywi\u015bcie t\u0105 sam\u0105 metod\u0105). Mo\u017ce warto by z pomoc\u0105 jednego w\u0105tku generowa\u0107 nie jedn\u0105 liczb\u0119 losow\u0105 ale np 10, lub 100 i oblicza\u0107 sum\u0119 cz\u0119\u015bciow\u0105?\n", "\n", "### Algorytm na CPU z alokacj\u0105 pami\u0119ci.\n", "\n", "Wykona\u0107 identyczny funkcjonalnie algorytm na CPU. U\u017cy\u0107 C/C++ lub cythona." ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }