Zkušenosti s GPU výpočty na clusteru Konos v rámci MetaCentra Jan Vaněk a Jan Trmal

Podobné dokumenty
GPGPU. Jan Faigl. Gerstnerova Laboratoř pro inteligentní rozhodování a řízení České vysoké učení technické v Praze

Část 1 ZÁKLADNÍ RYSY VÝPOČETNÍ PROSTŘEDKŮ DOSTUPNÝCH NA IT4INNOVATIONS

Lineární algebra. Vektorové prostory

Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1. Podpora digitalizace a využití ICT na SPŠ CZ.1.07/1.5.00/34.

Část 2 POROVNÁNÍ VÝKONNOSTI A POUŽITELNOSTI ARCHITEKTUR V TYPICKÝCH APLIKACÍCH

Rychlé vyrovnávací paměti (cache)

GPU A CUDA HISTORIE GPU CO JE GPGPU? NVIDIA CUDA

Poruchy modul pro rychlé hlášení poruch z provozu.

Business Contact Manager Správa kontaktů pro tisk štítků

Karel Johanovský Michal Bílek. Operační paměť

Výrazy lze též zavést v nečíselných oborech, pak konstanty označuji jeden určitý prvek a obor proměnné není množina čísel.

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

Kč s DPH HAL3000 TITAN X spoutejte sílu nejvýkonnějších technologií

Rostislav Horčík. 13. října 2006

ECB-PUBLIC ROZHODNUTÍ EVROPSKÉ CENTRÁLNÍ BANKY (EU) 2015/[XX*] ze dne 10. dubna 2015 (ECB/2015/17)

Novinky v programu Majetek 2.06

Generátor sítového provozu

Chraňte si váš software a firmware

Modul pro testování elektrických obvodů

Fyzikální praktikum 3 - úloha 7

Novinky v SIMATIC ET 200 decentrálních periferiích

Pokusy s kolem na hřídeli (experimenty s výpočty)

Paralelní systémy. SIMD jeden tok instrukcí + více toků dat jedním programem je zpracováváno více různých souborů dat

Národní e-infrastruktura v ČR

ÚVOD DO HRY PRINCIP HRY

Bezpečná výměna dat. Petr Dolejší Project manager, Solution consultant

Nvidia CUDA Paralelní programování na GPU

Architektura grafických ip pro Xbox 360 a PS3

SIMATIC WinCC V7.2. Novinky. Nur für internen Gebrauch / Siemens AG Alle Rechte vorbehalten.

Formulář návrhu projektu pro 4. veřejnou soutěž programu ALFA

PROCESORY. Typy procesorů

(k 1)x k + 1. pro k 1 a x = 0 pro k = 1.

Zadávací dokumentace. Příloha

Profilová část maturitní zkoušky 2015/2016

Profilová část maturitní zkoušky 2015/2016

Vzdělávací program pro obchodní partnery společnosti ROCKWOOL průvodce školením

GPGPU Aplikace GPGPU. Obecné výpočty na grafických procesorech. Jan Vacata

VIRTUÁLNÍ SVAŘOVACÍ TRENAŽÉR. Corporate presentation 1/6/2014-1

Závěrečná zpráva projektu Experimentální výpočetní grid pro numerickou lineární algebru

Numerická integrace. 6. listopadu 2012

PŘEDSTAVENÍ GRAFICKÉHO PROCESORU NVIDIA G200

1.1 Seminář z Informatiky. Charakteristika volitelného vyučovacího předmětu Seminář z Informatiky

Novinky verze ArCon 14 Small Business

Úvod do programování a práce s počítačem

ZADÁVACÍ DOKUMENTACE

Statistika ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA DOPRAVNÍ. Jiří Volf, Adam Kratochvíl, Kateřina Žáková. Semestrální práce - 0 -

Data Sheet Fujitsu ESPRIMO P2760 Stolní počítač

INFORMATIKA V CHOVECH PRASAT

Pocasicz.cz / pocasiesk.sk - zadání výroby

Příloha: XX. Zadávací dokumentace veřejné zakázky malého rozsahu Dodávka výpočetní techniky

Vlastnosti produktu. HAL3000 herní sestava MČR Pro V2 navržena hráči pro hráče

1 Hlasové, textové a multimediální služby

Definice z = f(x,y) vázané podmínkou g(x,y) = 0 jsou z geometrického hlediska lokálními extrémy prostorové křivky k, Obr Obr. 6.2.

Ing. Petr Klínský. Ing. Kateřina lichtenberková

Uživatelský manuál k instalaci a aktivaci systému BUILDpower S

Zajištěný věřitel v insolvenčním řízení - vybrané otázky

2.6.4 Lineární lomené funkce s absolutní hodnotou

Databáze RÚIAN a možnosti jejího využití pro geografickou podporu AČR

Hardware Martina Miškeříková

Základy počítačové grafiky

Univerzita Tomáše Bati ve Zlíně

NÁVOD NA PŘIHLÁŠENÍ DO INTERNETOVÉHO BANKOVNICTVÍ PRO SPRÁVU KREDITNÍ KARTY

Pláště pro stavební a těžební průmysl Continental EM - ContiEarth Continental MPT

Příručka pro práci s dataloggerem Labquest 2. Zapínání a domácí obrazovka

Změna sazby DPH v HELIOS Red po

František Dušek, Daniel Honc Katedra řízení procesů a výpočetní techniky, FCHT, Univerzita Pardubice

19 Jednočipové mikropočítače

Architektury počítačů na bázi sběrnice PCI. Cíl přednášky: Obsah přednášky:

Výzva k podání nabídek (pro účely uveřejnění na

Virtualizace koncových stanic Položka Požadováno Nabídka, konkrétní hodnota

Algoritmizace a programování

Projekt: 1.5, Registrační číslo: CZ.1.07/1.5.00/ Zoner Photo Studio

Pokročilá architektura počítačů

MetaCentrum. datové služby. Miroslav Ruda, Zdeněk Šustr

1 Měření kapacity kondenzátorů

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Základnímí částmi počítače jsou procesor, operační paměť, vstupní a výstupní zařízení.

MODEL MOSTU. Ing.Jiřina Strnadová. Evropský sociální fond Praha a EU Investujeme do vaší budoucnosti. Předmět:Fyzika

INTELIGENTNÍ DŮM. Zdeněk Kolář, Viktor Daněk. Střední průmyslová škola sdělovací techniky Panská 856/3, Praha 1

Ing. Šárka Endrlová, starostka. Ing. Jana Dvořáková.

Výukový materiál zpracován v rámci projektu EU peníze školám

Dynamický model predikovaného vývoje krajiny. Vilém Pechanec

Výsledky testování školy. Druhá celoplošná generální zkouška ověřování výsledků žáků na úrovni 5. a 9. ročníků základní školy. Školní rok 2012/2013

Matematika 1. ročník. září

HW počítače co se nalézá uvnitř počítačové skříně

UNIVERZITA V PLZNI. Model ALADIN A08N0205P MAN/MA

Systém MCS II. Systém MCS II < 29 >

Oborové číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B

Programování pro deskriptivní geometrii

Nvidia CUDA Paralelní programování na GPU

ORGANIZACE VELETRHU Z POHLEDU VYSTAVOVATELE

Obsah CZ.NIC, z. s. p. o. CZ.NIC je správcem domény.cz a provozovatelem služby mojeid.

Návod ke stažení a instalaci bodů zájmu do navigace TomTom řady Via a Go100x

Závislost hladiny intenzity zvuku na počtu zdrojů zvuku, na vzdálenosti od zdroje zvuku

BEZDOTYKOVÝ OTÁČKOMĚR DM-2234B

Geekovo Minimum. Počítačové Grafiky. Nadpis 1 Nadpis 2 Nadpis 3. Božetěchova 2, Brno

Dodávka termovizních kamer s příslušenstvím

NUMEROLOGIE CO JE NUMEROSKOP

SAFETICA 7 DATA LOSS PREVENTION

MS Word 2007 REVIZE DOKUMENTU A KOMENTÁŘE

Transkript:

Zkušenosti s GPU výpočty na clusteru Konos v rámci MetaCentra Jan Vaněk a Jan Trmal Katedra Kybernetiky Západočeská Univerzita v Plzni vanekyj@kky.zcu.cz 7.11.2011

Obsah Obecný pohled Aplikace akcelerovatelné na GPU Implementace úloh na GPU Praxe Úlohy implementované na ZČU-KKY Výsledky, porovnání NVidia a ATI/AMD Zkušenosti s clusterem Konos (Metacentrum) Pohled vlastníka clusteru

Obecný pohled GPU - vysoký výpočetní výkon Hodí se jen pro některé úlohy Intel Core i7 6-core: computation ~ 160-210 GFLOPS memory speed ~ 20-40 GB/s Price ~ 12 21 tis. Kč NVIDIA GeForce GTX 580 computation ~ 1.6 TFLOPS memory speed ~ 192 GB/s Price ~ 11-12 tis. Kč

Srovnání CPU - GPU GPU - vysoký výpočetní výkon Hodí se jen pro některé úlohy Intel Core i7 6-core: computation ~ 160-210 GFLOPS memory speed ~ 20-40 GB/s Price ~ 12 21 tis. Kč NVIDIA GeForce GTX 580 computation ~ 1.6 TFLOPS memory speed ~ 192 GB/s Price ~ 11-12 tis. Kč

Hardware review GPU FLOPS(S/D) Cena* GF GT 240 260G/- 1 500 Kč GF GTX465 880G/110G 3 700 Kč GF GTX580 1.6T/200G 11 000 Kč Tesla M2050 1.03T/515G 33 000 Kč HD5670 620G/- 1 500 Kč HD6850 1.5T/- 3 500 Kč HD5870 2.7T/544G 7 000 Kč HD6970 2.7T/683G 7 500 Kč *přibližné ceny (říjen 2011)

Aplikace akcelerovatelné na GPU Počítačová 3D grafika Zpracování dat Zpracování obrazu/videa Algoritmy umělé inteligence např. klasifikátory Statistická analýza/modelování Simulace Od atomů po hvězdné soustavy Různé vědecké oblasti (fyzika, chemie, ekonomie) Kryptografie, kryptoanalýza

Ne všechny aplikace se hodí na GPU HDD RAM GPU-RAM 50 MB/s 5 GB/s 20 GB/s 150 GB/s 150 GFLOPS 1500 GFLOPS CPU GPU-CORE

Ne všechny aplikace se hodí na GPU HDD RAM GPU-RAM 50 MB/s 5 GB/s Jen pro algoritmy (části algoritmů) Datově paralelní 20 GB/s 150 GB/s Algoritmicky intenzivní 150 GFLOPS 1500 GFLOPS CPU GPU-CORE

Úlohy dobře řešitelné na GPU Datově paralelní úlohy Zcela nezávislé zpracování jednotlivých částí Data na sobě závislá Ignorování části závislostí iterativní konvergující řešení Iterativní úlohy (simulace, modelování, statistika) Částečné překrývání dat, synchronizace jednou za čas Numericky intenzivní úlohy Velký počet výpočetních operací, malá vstupní data Kombinatorické úlohy (násobení matic, N 3 vs. N 2 ) Iterativní úlohy

Jak získat GPU akcelerované programy Postupný nárůst GPU aplikací v posledních letech Akcelerované aplikace Akcelerované knihovny funkcí/algoritmů Matlab parallel computing toolbox Vlatní implementace v CUDA nebo OpenCL

Specifika GPU architektury velké množství procesorových jednotek rozdělené po částech do skupin s vlastní cache několik druhů pamětí se specifickým přístupem: paměť RAM počítače pro GPU přímo nepřístupná paměťgpu pomalá, umožňuje pro všechny SP Read/Write Texture/constant cache pro všechny SP, rychlejší, read-only Shared (sdílená) paměť pro jednu skupinu SP, R-W, rychlá, 16kB umožňuje rychle přepínat jednotlivá vlákna jedno vlákno čeká na data, jiné počítá umožňuje načítat data na pozadí výpočtu memory latency hiding

Obecné řešení na GPU se implementuje jenom výpočetní jádro algoritmu data se připraví předem v paměti RAM přenesou se do paměti GPU spustí se výpočet na GPU (CPU může dělat něco jiného) výsledky se přenesou zpět z GPU do RAM přenáší se větší bloky dat větší datová prostupnost na GPU implementujeme výpočetně náročné části, které se dají snadno rozdělit na mnoho nezávislých částí paměťově náročné části programu (random read/write) ponecháváme na CPU (větší a rychlejší R/W cache)

Datově-paralelní program Zpracovávaná data rozdělena do nezávislých bloků tyto bloky tvoří vektor či matici grid programátor implementuje kernel, jádro výpočtu kernel definuje co se má s jedním prvkem matice dělat co má dělat jedno vlákno rozdělení úloh mezi GPU procesory řídí ovladače a HW

Dvojitá hierarchická paralelizace Rozdělení do bloků Jednotlivé multiprocesory Rozdělení na vlákna Jednotlivé SP se SIMD Globální synchronizace jen na úrovni jednotlivých kernelů vysoká režie Synchronizace vláken uvnitř jednoho bloku je možná malá/zanedbatelná režie

Klíčové vlastnosti GPU implementací Kulaté počty vláken, bloků paměti (32, 64, ) přidávání virtuálních dat/výpočtů speciální kód pro okrajové části Všechna vlákna kernelu dělají stejnou práci nepoužívat nevhodné příkazy if a cykly Načítání dat v blocích příprava dat podle algoritmu zpracování Využívání registrů, lokálních a cache-pamětí Načítání dat na pozadí - velké read/write a výpočetní bloky rozbalování cyklů (loop unrolling)

Historie GPU výpočtů na ZČU-KKY Začátkem roku 2008 první pokusy v CUDA a BrookGPU (BrookGPU+) Opuštění BrookGPU a karet ATI, přechod k NVidia a CUDA Postupná implementace vybraných metod Rozšiřovaní GPU výpočtů mezi ostatní kolegy NVidia a CUDA nyní jako standard v rámci naší skupiny Rozšíření clusteru Konos o CPU-GPU nody Implementace v OpenCL pro ATI/AMD

Implementované úlohy (1) Rozpoznávání řeči výpočet pravděpodobností akustického modelu Trénování akustických modelů výpočet pravděpodobností Forward-Backward algoritmus Akumulace statistik Rozpoznávání řečníka Gaussian Mixture Models - GMM Suport Vector Machines - SVM

Implementované úlohy (2) Neuronové sítě pro hybridní rozpoznávání řeči trénování NN několik milionů parametrů desítky až stovky milionů trénovacích vektorů iterativní optimalizační algoritmus (L-BFGS) potřeba mnoha iterací (tisíce) 32x zrychlení oproti CPU (1core, Intel LAPACK)

Implementované úlohy (3) Zpracování časových sérií mikroskopických snímků Ústav Fyzikální Biologie, Nové Hrady Analýza chování buněčných linií 5 Mpix foto každou minutu po dobu dnů Fázový kontrast potřeba speciálních metod výpočet entopie pro každý pixel 3600x zrychlení oproti první verzi v Matlabu 40x zrychlení oproti C++ SSE verzi

Výsledky vybraných metod (1) Vyhodnocení akustického modelu Porovnání se skutečnou délkou zpracovávané řeči Real Time Factor RTF doba zpracování / skutečná délka řeči Rozpoznávání řeči pracující v reálném čase na CPU kompromis rychlost/přesnost na GPU i low-end GPU jakýkoli model

Výsledky vybraných metod (1) extrémně velký model (1,25 milionů Gaussianů) CPU RTF 10 30 v závislosti na použité aproximaci ATI/AMD cca 2x rychlejší

Porovnání NVidia vs. ATI/AMD Různá architektura NVidia (Fermi based GTX 4XX, GTX 5XX) dvojí takt jádro/zbytek GPU 32x 1D výpočetní jednotky 128kB registry 48/16kB shared (local) memory ATI/AMD 16x 4D (5D) výpočetní jednotky 256kB registry 16kB shared (local) memory

Nutné optimalizovat implementaci pro každou architekturu zvlášť!

Cluster Konos Náhrada části starých nodů novými Řešení projektu LINDAT-Clarin Celkem 10 nodů (8x KKY, 2x KMA) Výběrové řízení zaměřeno na CPU výkon GPU jen na akceleraci některých úloh Konfigurace: 2x 6-core Intel Xeon 3.2GHz 24 GB RAM 2x NVidia GeForce GTX 465 Reálná spotřeba cca 600W při plném zatížení

Spuštění GPU úlohy v MetaCentru (1) Připraven modul cuda-3.2-kky CUDA i OpenCL proměnné prostředí s cestami a definicemi Fronta GPU GPU - exkluzivní režim Používaná grafická karta není dostupná pro další uživatele

Spuštění GPU úlohy v MetaCentru (2) Získáme členství ve frontě GPU Spustíme interaktivní job qsub l nodes=1:ppn=1 q gpu W grouplist=gpu -I Přidáme balíček cuda module add cuda-3.2-kky Ověříme funkčnost (nepovinné, užitečné) devicequery bandwidthtest Spustíme svůj program

Reálné výsledky na Konosu1 Trénování akustických modelů (200 hodin řeči) 6-core CPU (Intel compiler, IPP), 3 hodiny/iteraci 1x GPU + 1-core CPU, 25 minut/iteraci > 7x rychlejší jen částečně vytížené 1-core CPU možnost spuštění na více GPU GPU kolem 80 C Rozpoznávání řeči (slovník 280 tisíc slov, trigram) 8-core CPU RTF 0,36 8-core CPU+GPU RTF 0,19 (GPU vytížení 20%)

Dekuji Vám za pozornost.