Tato diplomová práce se zabývá zkoumáním možností akcelerace obecných algoritmů na grafických procesorech firmy NVIDIA. Nejprve je zde uveden popis paralelních architektur a paralelního programování, další část je určena detailům architektury NVIDIA CUDA. V praktické části je prezentován průvodce pro instalaci a programování na této architektuře. Je zde také obsažen výpis možných programovacích jazyků a prostředí. Následně jsou zde zmíněny možnosti aplikace v matematických programech Mathworks Matlab a Wolfram Mathematica. V poslední části jsou diskutovány výsledky a zrychlení algoritmů, které byly vybrány pro přepsání pro architekturu CUDA.
Anotace v angličtině
This master’s thesis is devoted to acceleration of general purpose algorithms running on graphic processors provided by NVIDIA company. The first part of the theoretical part describes specifics of parallel architecture and parallel programming. The second part is devoted to the details of the NVIDIA CUDA architecture. In the practical part, there is presented a guide to the installation and to the programming on this architecture. It also contains the list of programming languages and development environments which the programmer can use. The second part demonstrates the use of CUDA architecture on mathematical programs Mathworks Matlab and Wolfram Mathematica. In the last part we discuss the results and the speedup of algorithms that have been ported to this architecture.
Klíčová slova
Grafické karty, náročné výpočty, GPGPU výpočty, obecné výpočty na grafických procesorech, paralelní zpracování, matematické programy, programování pro architekturu NVIDIA CUDA, zrychlení algoritmů, optimalizace pro výkon, Mathworks Matlab, Wolfram Mathematica, programovací jazyk C.
Klíčová slova v angličtině
Graphic cards, high performance computing, GPGPU computing, general computing on graphic cards, parallel computing, mathematical programs, NVIDIA CUDA architecture programing, speedup of algorithms, optimization for performance, Mathworks Matlab, Wolfram Mathematica, C programming language.
Rozsah průvodní práce
79 s.
Jazyk
CZ
Anotace
Tato diplomová práce se zabývá zkoumáním možností akcelerace obecných algoritmů na grafických procesorech firmy NVIDIA. Nejprve je zde uveden popis paralelních architektur a paralelního programování, další část je určena detailům architektury NVIDIA CUDA. V praktické části je prezentován průvodce pro instalaci a programování na této architektuře. Je zde také obsažen výpis možných programovacích jazyků a prostředí. Následně jsou zde zmíněny možnosti aplikace v matematických programech Mathworks Matlab a Wolfram Mathematica. V poslední části jsou diskutovány výsledky a zrychlení algoritmů, které byly vybrány pro přepsání pro architekturu CUDA.
Anotace v angličtině
This master’s thesis is devoted to acceleration of general purpose algorithms running on graphic processors provided by NVIDIA company. The first part of the theoretical part describes specifics of parallel architecture and parallel programming. The second part is devoted to the details of the NVIDIA CUDA architecture. In the practical part, there is presented a guide to the installation and to the programming on this architecture. It also contains the list of programming languages and development environments which the programmer can use. The second part demonstrates the use of CUDA architecture on mathematical programs Mathworks Matlab and Wolfram Mathematica. In the last part we discuss the results and the speedup of algorithms that have been ported to this architecture.
Klíčová slova
Grafické karty, náročné výpočty, GPGPU výpočty, obecné výpočty na grafických procesorech, paralelní zpracování, matematické programy, programování pro architekturu NVIDIA CUDA, zrychlení algoritmů, optimalizace pro výkon, Mathworks Matlab, Wolfram Mathematica, programovací jazyk C.
Klíčová slova v angličtině
Graphic cards, high performance computing, GPGPU computing, general computing on graphic cards, parallel computing, mathematical programs, NVIDIA CUDA architecture programing, speedup of algorithms, optimization for performance, Mathworks Matlab, Wolfram Mathematica, C programming language.
Zásady pro vypracování
Seznamte se s technologií nVidia CUDA.
Sestavte návody pro tvorbu programu.
Otestujte použití pod programem Matlab (Mathematica).
Vypracujte ukázkové programy.
Navrhněte využití na FAI.
Porovnejte navýšení výkonu.
Zásady pro vypracování
Seznamte se s technologií nVidia CUDA.
Sestavte návody pro tvorbu programu.
Otestujte použití pod programem Matlab (Mathematica).
Vypracujte ukázkové programy.
Navrhněte využití na FAI.
Porovnejte navýšení výkonu.
Seznam doporučené literatury
The resource for CUDA developers [online]. 2009 [cit. 2009-01-30]. Dostupný z WWW: [http://www.nvidia.com/object/cuda_home.html].
Accelerating MATLAB with CUDA Using MEX Files [online]. 2007 [cit. 2009-01-30]. Dostupný z WWW: [http://developer.download.nvidia.com/compute/cuda/1_0/Accelerating%20Matlab%20with%20CUDA.pdf].
AccelerEyes - MATLAB GPU Computing [online]. 2008 [cit. 2009-01-30]. Dostupný z WWW: [http://www.accelereyes.com/].
NVIDIA CUDA SDK [online]. 2009 [cit. 2009-01-30]. Dostupný z WWW: [http://www.nvidia.com/object/cuda_sdks.html].
NVIDIA CUDA Compute Unified Device Architecture - Programming Guide [online]. 2007 [cit. 2009-01-30]. Dostupný z WWW: [http://developer.download.nvidia.com/compute/cuda/1_0/NVIDIA_CUDA_Programming_Guide_1.0.pdf].
Seznam doporučené literatury
The resource for CUDA developers [online]. 2009 [cit. 2009-01-30]. Dostupný z WWW: [http://www.nvidia.com/object/cuda_home.html].
Accelerating MATLAB with CUDA Using MEX Files [online]. 2007 [cit. 2009-01-30]. Dostupný z WWW: [http://developer.download.nvidia.com/compute/cuda/1_0/Accelerating%20Matlab%20with%20CUDA.pdf].
AccelerEyes - MATLAB GPU Computing [online]. 2008 [cit. 2009-01-30]. Dostupný z WWW: [http://www.accelereyes.com/].
NVIDIA CUDA SDK [online]. 2009 [cit. 2009-01-30]. Dostupný z WWW: [http://www.nvidia.com/object/cuda_sdks.html].
NVIDIA CUDA Compute Unified Device Architecture - Programming Guide [online]. 2007 [cit. 2009-01-30]. Dostupný z WWW: [http://developer.download.nvidia.com/compute/cuda/1_0/NVIDIA_CUDA_Programming_Guide_1.0.pdf].
Přílohy volně vložené
CD
Přílohy vázané v práci
-
Převzato z knihovny
Ne
Plný text práce
Přílohy
Posudek(y) oponenta
Hodnocení vedoucího
Záznam průběhu obhajoby
Součástí obhajoby DP nebyla praktická ukázka.
V rámci diskuze byly položeny následující dotazy:
1. doc. Sysel - Zrychlení u algoritmu SOMA bylo měřeno při použití které paměti?
2. Ing. Vojtěšek - Zkoušel jste aplikovat technologii i v prostředí Mathematica?
3. doc. Zelinka - K čemu se váže porovnání zrychlení?
Dotazy vedoucího a oponenta DP zodpověděl student v plném rozsahu.
Na položené dotazy zkušební komise pro SZZ reagoval student pohotově.