Original title:
Efektivní implementace výpočetně náročných algoritmů na Intel Xeon Phi
Translated title:
Efficient Implementation of High Performance Algorithms on Intel Xeon Phi
Authors:
Šimek, Dominik ; Hrbáček, Radek (referee) ; Jaroš, Jiří (advisor) Document type: Bachelor's theses
Year:
2015
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[cze][eng]
Táto práca sa zaoberá implementáciou a optimalizáciou výpočtovo náročných algoritmov na koprocesore Intel Xeon Phi. Koprocesor Xeon Phi bol predstavený firmou Intel v roku 2012 ako odpoveď na obrovský nárast v používaní technológie GPGPU. Xeon Phi disponuje podstatne väčším výkonom ako procesor, preto je podobne ako GPGPU vhodnou platformou pre beh výpočtovo náročných programov. Xeon Phi zatiaľ v praxi nie je velmi používaný, preto je potrebné hľadať možné oblasti uplatnenia. Rozrastá sa ale jeho použitie v superpočítačových centrách, napríklad Milky Way 2 - Guangzhou (Čina), Salomon - Ostrava. Cieľom tohto dokumentu je oboznámiť čitateľa s problematikou implementácie náročných algoritmov na akceleračnej karte Xeon Phi, ich optimalizácie a meranie výkonu. Výkon koprocesoru Intel Xeon Phi bude porovnávaný s výkonom procesorov Intel Xeon. V teoretickej časti práce bude čitateľ oboznámený s architektúrou a princípmi koprocesoru Xeon Phi. Budeme sa venovať výhodám ale aj nevýhodám tohto koprocesoru, ktoré budú často porovnávané s všeobecnými vlastnosťami procesorov. Témou bude taktiež otázka, kedy je vhodné zvoliť pre výpočet akcelerečnú kartu Xeon Phi a kedy procesor. Detailne si vysvetlíme a znázorníme výber vhodných algoritmov pre Xeon Phi, postup ich implementácie, optimalizácie a meranie výkonu. Okrem toho budú rozoberané problémy a úskalia, ktoré môžu nastať pri implementácii algoritmov a používaní koprocesoru. Dané demonštrujeme najskôr na ukážkových problémoch, ktoré boli riešené na Ostravskom superpočítači Anselm. V prvom rade to budú jednoduché benchamrky typu násobenie matíc, násobenie matice a vektora, na ktorých budú ukázané základné princípy implementácie optimálnych algoritmov pre koprocesor Xeon Phi. Napríklad pri benchmarku násobenia matice a vektora bolo dosiahnutých asi 6.5% teoretického výkonu koprocesoru. Ďalším, komplexnejším problémom bude N-Body Simulation - simulácia pohybu častíc v priestore, na ktorom sme otestovali potenciál Xeon Phi. Výkon koprocesoru sa pri tomto benchmarku vyšplhal až na viac ako 35% teoretického výkonu - 725 gFLOPS (maximálny výkon 2000 gFLOPS pre dáta s jednoduchou presnosťou). Čitateľ sa okrem iného môže dozvedieť aj zaujímavé informácie z oblasti fyzikálnych simulácií, konkrétne bude reč o module pre MATLAB (k-Wave). K-Wave sa zaoberá simuláciou šírenia akustických vĺn v 1D, 2D a 3D, čo sa využíva napríklad pri simulácii šírenia ultrazvukových vĺn v mäkkých tkanivách. Na koniec si stručne povieme o portovaní už existujúcich knižníc, modulov či programov na Xeon Phi zo snahou využitia jeho potenciálu. Bude to napríklad kroskompilácia knižníc HDF5, ZLIB či konca interpretu jazyka Python s modulmi Numpy a Scipy.
This thesis is dedicated to the implementation of high performance algorithms on the Intel Xeon Phi coprocessor. The Xeon phi was introduced by Intel as a new MIC (Many Integrated Core) architecture in 2012. The theoretical part of the thesis is focused on the architecture of the coprocessor (with peak performance of 2 tFLOPS for a single precision data) and on the procedure of algorithms implementation and optimization. The theoretical knowledge is then applied to a practical examples with demonstration of the implementation and the optimization of algorithms and work with the coprocessor. In the practical part of the thesis, simple benchmarks such as a vector matrix multiplication and a matrix multiplication are explained and implemented. In the first benchmark 6.5% of theoretical coprocessor performance was achieved, in the second it was much more. In following chapter a more complex benchmark - simulation of a particles system (N-Body), that reached more than 35% of coprocessor performance (725 gFLOPS), is discussed. The following section is dedicated to some interesting problems such as optimization of a MATLAB module k-Wave (propagation of the ultrasound waves), extraction of I-vector (speech processing), cross-compilation of existing libraries, modules and programs. In the conclusion of the thesis the usage the potential of the Intel Xeon Phi is evaluated.
Keywords:
HPC; I-vector.; Intel Xeon Phi; k-Wave; Matrix multiplication; Matrix vector multiplication; MIC; N-Body; I-vektor.; Intel Xeon Phi; k-Wave; MIC; N-Body; Súčin matice a vektora; Súčin matíc; Výpočtovo náročné algoritmy
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/52454