Post on 19-Jan-2016
description
transcript
Akcelerace genetických algoritmů na grafických kartách
5. část
Mikuláš Dítě
Evropský sociální fond Praha & EU: Investujeme
do vaší budoucnosti
Připomenutí problému
• udržování tyče na vozíku• pěstování konstant• zdlouhavý výpočet fitness funkce
Paměťová náročnost
přenesení dat do paměti GPU
CPU CPU + GPU
Další optimalizacepouze GPU
startstart
zápis na GPUzápis na GPU
čtení z GPUčtení z GPU
každá generace
každá generace
paralelní výpočetparalelní výpočet vlastníimplementacerand()
a další výpočty
vlastníimplementacerand()
a další výpočty
Porovnání CPU, GPU+CPU a GPU
Porovnání
OpenCL vs CUDA
• programování pro grafickou kartu• OpenCL je (víc) multiplatformní
– 1.1 vyšla ještě 2010
• CUDA vytvořila Nvidia– 4.0 stable (květen 2011)
CUDA
• maximální rozměr textury
65 536 x 65 535
Odkazy
• Ing. Miroslav Čepek (Katedra počítačů FEL ČVUT)• Ing. Vladimír Pospíšil (Cesta k vědě)
Poděkování
• https://github.com/Mikulas/PoleBalanceGPU
Zdroje• [1] BROWNLEE, J. The pole balancing problem. [online]. [cit. 8. 1. 2011].
Dostupné z <http://www.ict.swin.edu.au/personal/jbrownlee/2005/TR07-2005.pdf>
• [2] Genetic algorithm. [online]. [cit. 8. 1. 2011]. Dostupné z <http://en.wikipedia.org/wiki/Genetic_algorithm>
• [3] NP-hard. [online]. [cit. 8. 1. 2011]. Dostupné z <http://en.wikipedia.org/wiki/Np-hard>
• [4] KOZOLA, S. Improving Optimization Performance with Parallel Computing. [online]. [cit. 8. 1. 2011]. Dostupné z <http://www.mathworks.com/company/newsletters/digest/2009/mar/parallel-optimization.html >