Celestia-R1---OverlayContentHD.png HIGH PERFOMANCE COMPUTING A picture containing building, indoor Description generated with high confidence Celestia-R1---OverlayContentHD.png HPC •High-performance computing •Výkonné počítače, náročné problémy •FLOPs – Floating-point operations per second •Paralelní výpočty • Celestia-R1---OverlayContentHD.png ZÁKLADNÍ POJMY • CPU (Central Processing Unit) - 1 procesor zpracovávající 1 data •Paměť – místo s uloženými daty •Akcelerátor – přídavné zařízení zajišťující výpočetní výkon (GPU, co-procesor) •GPU (Graphic processing Unit) - Grafická karta • Složená z velmi velkého množství procesorů (např. 512, 1024) •Cluster – výpočetní stroj tvořený z většího množství počítačů propojených pomocí sítě (např. Ethernet) • Jednotlivé počítače mohou, ale nemusí být stejného typu •Node - plnohodnotný počítač se samostatnou pamětí, může mít více CPU, GPU či jiných akcelerátorů • Propojeny tvoří clustery •Thread/vlákno – zpracovává 1 instrukci, hyperthreading • Sériově zpracovává 1 data Celestia-R1---OverlayContentHD.png CPU A picture containing text Description generated with high confidence •Zmenšuje se velikost tranzistorů, zvyšuje se jejich počet, ale výkon už dále neroste •Jsme na fyzikální hranici výkonu procesoru •Nutnost paralelizace - jedinná další cesta zvyšování výkonu •Jednoduchá - vektorizace •Složitější - OpenMP, openACC, MPI, coprocesory, … • Celestia-R1---OverlayContentHD.png VEKTORIZACE ●Nejjednodušší způsob zvýšení výpočetního výkonu ●Procesor provádí operaci na několika datech zárověň ●Dnes ve všech CPU – liší se však stupeň (VL) ● A close up of a sign Description generated with very high confidence Celestia-R1---OverlayContentHD.png HIERARCHIE PAMĚTI •Registry – přímo v CPU •nejrychlejší •Cache (L1, L2, L3) •RAM •HDD/SDD •Propojeny sběrnicemi •Rychlost počítače ovlivňuje •Rychlost přenosu mezi stupni •Rychlost čtení/zápisu •Velikost paměti (jak dlouho budeme data hledat) Celestia-R1---OverlayContentHD.png SCHÉMATA •SISD (Single Instruction Single data) ●Sériové zpracování jednoho typu dat ●nejjednoduší •SIMD (Single Instruction Multiple Data) ●Provádí stejnou operaci na různých vstupních datech ●Víceprocesorové systémy, grafické karty ●nejpoužívanější •MIMD (Multiple Instruction Multiple Data) ●Různé operace na různých datech ●Nejvýkonnější výpočetní clustery ●Velmi úzké zaměření ●Specifický přístup k řešení •MISD (Multiple Instruction Single Data) ●Provádí stejnou operaci na různých vstupních datech ●Vysoká přesnost ●Specifické použití ●vzácné Celestia-R1---OverlayContentHD.png PARALELNÍ VS. SÉRIOVÉ ALGORITMY •Je potřeba přemýšlet jinak od začátku návrhu algoritmu •Paralelizace smyček •Data dependance – datová závislost •Výsledek operace na 1 vlákně závisí na výsledku na jiném, paralelně zpracovávaném vlákně → špatné výsledky/zpomalení (čekání 1 vlákna na jiné) •Nevhodný paralelní algoritmus může vést ke zpomalení kódu případně i ke špatným výsledkům! Celestia-R1---OverlayContentHD.png MODELY PARALELNÍHO POČÍTÁNÍ Shared memory •Všechna vlákna mají přístup do stejné paměti •Velmi jednoduché programování, většinou stačí přidat 1 řádek do kódu •Automatická paralelizace •Data depandance •Knihovny OpenMP, OpenACC MPI (Message Passing Interface) •Clustery •Jednotlivé jednotky spolupracují na základě výměny „zpráv“ •Knihovna OpenMPI Celestia-R1---OverlayContentHD.png SHARED MEMORY A picture containing object, clock, watch Description generated with high confidence Celestia-R1---OverlayContentHD.png NVIDIA CUDA •Specifický programovací jazyk vyvinutý společností nVidia •Případně přídavek do C/C++ •Programování na GPU •Vhodné jen pro některé typy problémů •GPU má mnoho nevýkoných procesorů s velmi malou pamětí – vhodné pro řešení mnoha nenáročných operací •Různé přístupy – záleží na uživateli •Shared memory i nízkoúrovňová práce s pamětí GPU • Celestia-R1---OverlayContentHD.png VÝPOČETNÍ CLUSTER ●Hry si na něm nezahrajete ●Řádkový OS (Linux) ●Vzdálený přístup ●Hybridní cluster Celestia-R1---OverlayContentHD.png Celestia-R1---OverlayContentHD.png SALOMON ●2 PFLOP/s teoretický výpočetní výkon, ●24192 jader CPU Intel Xeon E5v3 (Haswell-EP), 129 TB operační paměti RAM, ●52704 jader akceleračních koprocesorů Intel Xeon Phi s 13,8TB RAM, ●2PB diskové kapacity a 3PB zálohovací páskové kapacity. ● Celestia-R1---OverlayContentHD.png SUNWAY TAIHULIGHT •1.45 GHz (3.06 TFlops single CPU, 105 PFLOPS Linpack, 125 PFLOPS peak) •15 MW odběr •40,960 procesorů čínské výroby SW26010 •Každý má 256 jader! •10 649 600 CPU celkem Celestia-R1---OverlayContentHD.png SUNWAY TAIHULIGHT