Jiné výpočetní platformy J. Sloup, M. Skrbek, I. Šimeček
|
|
- Danuše Matoušková
- před 5 lety
- Počet zobrazení:
Transkript
1 Jiné výpočetní platformy J. Sloup, M. Skrbek, I. Šimeček Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 BI-EIA, ZS2011/12, Predn.12 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti
2 Architektury VLIW Intel Itanium
3 Architektury VLIW VLIW (Very Large Instruction Word) instrukční slova obsahují instrukce, které mohu být provedeny současně (paralelně). Více paralelně pracujících jednotek Explicitně vyjádřený paralelismus Široké instrukce rozdělené do několika subinstrukcí Pouze jedna skoková sub-instrukce na instrukci Vyhledávání paralelizmů v instrukcích (ILP, Instruction level parallelism) a jejich plánování do posloupností dlouhého slova VLIW provádí překladač.
4 Strukturální hazardy Vyplývají z omezeného počtu bran registrového pole Některé registry pouze vyhrazené dané jednotce Omezený počet registrů sdílený mezi jednotkami (případně sdílený jen mezi dvojicemi jednotek)
5 Řídící hazardy Pouze jedna skoková sub-instrukce na instrukci Výjimku může vyvolat kterákoliv z paralelně prováděných instrukcí Řešením problému výjimek je řídící spekulace
6 Datové hazardy Nutno vyloučit datové závislosti v rámci instrukce (lze programově) Datové závislosti v paměťových operacích (vzhledem k nepřímé adresaci nelze vyloučit programově) Řešením hazardů v paměťových operacích je datová spekulace
7 Druhy datových závislostí RAW (read-after-write) čtení po zápisu stejného registru mov r14 = r17; add r16 = r14, r15; WAW (write-after-write) zápis po zápisu mov r14 = r17; add r14 = r16, r15; WAR (write-after-read) zápis po čtení add r14 = r14, r15;
8 Itanium (Merced) Itanium bylo první 64-bit čip od Intelu používá EPIC (Explicitly Parallel Instruction Computing) instruction set. Obsahuje: 2 integer, 2 memory, 3 branch execution units, => 4 ALU instructions per clock. 2 floating point units. 10-stage instruction pipeline.
9 Itanium (Merced) Podmíněné instrukce 128 registrů (celočíselné, 64-bitů) registrový zásobník, rotace registrů 128 FP registrů 64 predikátových registrů 8 registrů pro adresy skoků Aplikační registry a registry pro měření výkonnosti Režimy IA-64 a IA-32
10 Itanium 128bit dlouhé instrukčního slovo 5bitů šablona (template). Zde zakódováno do kterých funkčních jednotek se budou vydávat obsahy jednotlivých slotů. 41 bitů pro subinstrukci (slot 1) 41 bitů pro subinstrukci (slot 2) 41 bitů pro subinstrukci (slot 3) Jednotný formát instrukce, jediná výjimka při načítání 64bit konstanty
11 Registrový zásobník Pro urychlení volání fcí Vstup a výstupy nejsou ukládány na zásobník, ale do registrů Ale nikoliv fixně (vhodné pro 1úrovňové volání) Pole registrů je bráno jako celek a pomocí jednoho z nich je v něm implementován zásobník
12 Paralelní provádění instrukcí Každý slot pojme jednu instrukci Skupina jedna nebo více instrukcí provedených paralelně V rámci skupiny musí být jedno v jakém pořadí se instrukce dokončí V rámci skupiny jsou zakázány datové závislosti typu WAW, a RAW
13 Predikátové registry 64 jednobitových registrů Označené p0-p63 p0 je vždy 1 Nastavovány porovnávacími instrukcemi Většinu instrukcí je možno podmínit těmito registry
14 Porovnávací instrukce Př. cmp.eq p4,p6=r1,r6 eq, ne; lt, le, gt, ge; ltu, leu, gtu, geu Kde u značí operaci bez znaménka Ukázka překladu: if (r7==r8) r3=r4 + r5; else r8 = r2 + r6; cmp.eq p3, p4 = r7, r8;; (p3) add r3 = r4, r5; (p4) add r8 = r2, r6;; Samotné porovnání lze také podmínit Např. (p5) cmp.eq p3, p4 = r7, r8;;
15 Porovnávací instrukce Kód v C/C++ if (x == 4) z = 9 else z = 0; Itanium řešení Compare x to 4 and store result in a predicate bit (we'll call it A) If A==1; z = 9 If A==0; z = 0
16 Itanium a VLIW shrnutí Snížení počtu podmíněných skoků = pomocí predikátových registrů Zvýšení počtu registrů (proti x86) Snížení počtu zásobníkových operací = pomocí registrového zásobníku VLIW = snížení požadavků na Dekóder = jednotný formát instrukcí Out of order jednotka = díky kompilátoru
17 Heterogenní procesory IBM Cell
18 Cell Broadband Engine History 2000 IBM, SCEI/Sony Toshiba Alliance 2001 Design Center 2005 Disclosure of Technical Documentation Highlights Supercomputer on a chip Multi-core processor (max. 9 cores) 3.2 GHz clock frequency
19 Cell Broadband Engine SPE SPE SPE SPE PPE EIB SPE SPE SPE SPE DRAM and IO interface PPE = PowerPC Processor Element SPE = Synergic Processor Element EIB = Element Interconnect Bus
20 Cell administration Na PPE běží standardní operační systém Tento OS zároveň plánuje, spouští, zastavuje a přerušuje procesy běžící na SPEs. Pouze PPE může číst/psát do hlavní paměti a do lokálních pamětí SPEs pomocí standardních load/store instrukcí. SPEs nejsou plnohodnotné procesory.
21 Aplikace = herní konzole. Sony PS3 3.2 GHz Cell Broadband Engine with 1 PPE & 7 SPEs Microsoft Xbox 360 tri-core Xenon processor, based on a slightly modified version of the PPE Nintendo Wii Power architecture core, specially modified for the platform 729 MHz 32-bit integer unit 64-bit floating-point (or 2 32-bit SIMD) 64 KB L1 cache (32 KB instruction + 32 KB data) 256 KB L2 cache 2.9 GFLOPS
22 Aplikace v high-performance V roce 2008, IBM uvedla novou variantu Cell PowerXCell 8i Použita v QS22 Blade Servers od IBM. různá vylepšení výkonnost z 12.8 GFLOPS na GFLOPS pro 8 SPEs. IBM Roadrunner supercomputer, první v TOP500 v letech , PowerXCell 8i processors, 6,562 AMD Opteron processors.
23 Výpočet pomocí GPU
24 Převzato z [3] Vývoj zpracování obrazu pre-pipeline GPUs pomocí fixed-function pipelines (před 2001) Vše natvrdo Jediná volnost skrze parametry jednotek Programmable pipelines ( ) Rozdělení samostatných jednotek na vertex/fragment=pixel (geometry) shadery možné přetížení / zahlcení dané fáze zobrazovacícho řetezce Unifikované shadery(např. CUDA technologie) Stejné jednotky pro zpracování všech typů shaderů přidělovány na základě zátěže (load-balancing)
25 Zobrazovací řetězec Převzato z [3]
26 Zpracování zobrazovacího řetězce Převzato z [3]
27 Srovnání rychlostí
28 Proč jsou GPU tak rychlé? Nelze zvyšovat frekvenci procesorů kvůli přehřívání, ale lze přidávat další funkční jednotky,díky tomu se oddělily 2 vývojové linie: 1.multi-core (několik plnohodnotných jader na jednom čipu) CPU 2.many-core (mnoho jednodušších jader na jednom čipu) GPU Převzato z [1]
29 Rozdíly CPU a GPU CPU optimalizováno pro zpracování sekvenčního kódu přidání dalších jader je složité (díky 1D architektuře) Hierarchie cache pamětí včetně velké L3 cache k snížení latence přístupů do paměti (většina křemíku) složitá řídící logika zajišťuje efektivní zpracování instrukcí (v ALU) a přísun dat GPU optimalizováno pro zpracování paralelních aplikací přidání dalších jader je jednoduché (díky 2D architektuře) řídící logika a cache sdílená několika jádry malá cache, latence přístupů do paměti snížena přepínáním mezi vlákny (až 1024 u GT 200) většina křemíku je v jednotlivých ALU Převzato z [1]
30 Flynova klasifikace HW Single Instruction Single Data stream (SISD) =1 procesor provádí 1 instrukční proud nad daty uloženými v 1 paměti = klasický CPU Single Instruction Multiple Data stream (SIMD) =1 instrukce je prováděna nad množinou dat množinou procesorů = vektorové a maticové počítače Multiple Instruction Single Data stream (MISD) = posloupnost dat je přenášena k množině procesorů provádějících různé instrukce=systolické pole, fault-tolerant systémy Multiple Instruction Multiple Data stream (MIMD) = množina procesorů současně provádí různé instrukce nad různými daty=multiprocesory, multipočítače, distribuované systémy
31 SIMT GPU se díky velkému datovému paralelismu ve zobrazovacím řetězci vyvinuly do specializovaných SIMD procesorů, ale s tolika rozšířeními, že jsou označována jako SIMT (Single Instruction Multiple Threads) Každé vlákno má vlastní identitu = např. registry.
32 Jazyky a API pro výpočty na GPU Jazyky pro programování shaderů HLSL DirectX GLSL OpenGL Cg překlad do OpenGL i DirectX Nadstavby rozšíření o proudové zpracování dat BrookGPU / Brook+ RapidMind PeakStream Jazyky pro obecné výpočty na GPU (GPGPU) CUDA OpenCL MS DirectCompute Převzato z [1]
33 CUDA (Compute Unified Device Architecture) CUDA = API + runtime prostředí + podpora v HW Aplikační rozhraní (API) CUDA C rozšíření jazyka C CUDA driver (low-level) Runtime prostředí spouštění kernelů přesuny dat Přímá podpora v hardwaru Architektura SIMT (Single-Instruction, Multiple-Thread) Streaming Multiprocessor se sdílenou pamětí Převzato z [1]
34 OpenCL (Open Computing Language) Standard od Khronos Group pro paralelní výpočty nezávislost na konkrétní hardwarové platformě Založen na C99 obohacený o podporu pro paralelismus (datový i programový) Podpora heterogenních systémů (tj. multi-core CPU + GPU, další typy procesorů Cell, DSP) OpenCL framework se skládá ze 2 částí: OpenCL C rozšíření jazyka C OpenCL runtime API Implementace závislá na konkrétním výrobci grafických karet a procesorů: Překladač Runtime prostředí Převzato z [1]
35 MS Direct Compute Microsoft DirectCompute je API pro podporu GPGPU (general-purpose computing on graphics processing units). Podporované OS jsou Microsoft Windows Vista a Windows 7. DirectCompute je součástí Microsoft DirectX API (verze 10 a 11). Rozhraní jsou shodná nebo obdobná jako OpenCL nebo CUDA.
36 Paralelizace kódu Rozdíl v přístupu k paralelizaci kódu si ukážeme na operaci násobení matice maticí.
37 Násobení matic ( sekvenční kód) for(row = 0; row < size; row++) { for (column = 0; column < size; column++) { pom= 0; for(int position = 0; position < size; position++) { pom + = MA[row][position] * MB[position][column];} MC[row][column]=pom; }} Složitost je O(size^3) Úvaha: každý prvek výstupní matice C je počítán nezávisle => pro maximální míru paralelismu je dobré pro každý prvek vytvořit vlastní vlákno, které vypočítá Jeho hodnotu to znamená vynásobí řádek matice A sloupcem matice B.
38 Násobení matic ( pomocí POSIX vláken) I Každému vláknu budou pomocí struktury package_t předány čísla násobených řádků a sloupců, délka řádku a ukazatele na matice A, B, C typedef struct { int id; int size; int Arow; int Bcol; matrix_t *MA, *MB, *MC; } package_t; Převzato z [1]
39 Násobení matic ( pomocí POSIX vláken) II Převzato z [1] num_threads = 0; for(row = 0; row < size; row++) { for (column = 0; column < size; column++) { p = (package_t *)malloc(sizeof(package_t)); // struktura předávaná do vlákna p->id = num_threads; p->size = size; p->arow = row; p->bcol = column; p->ma = &MA; p->mb = &MB; p->mc = &MC; pthread_create( &threads[num_threads], &pthread_custom_attr, mult_worker, (void *) p); // vytvoření vlákna pro výpočet MC[row][col] num_threads++; } } for (i = 0; i < (size*size); i++) // synchronizace dokončení všech výpočtů pthread_join(threads[i], NULL);
40 Násobení matic ( pomocí POSIX vláken) III void mult(int size, int row, int column, matrix_t MA, matrix_t MB, matrix_t MC) { // vynásobení řadku row matice MA sloupcem col matice MB int position, pom= 0; for(int position = 0; position < size; position++) { pom + = MA[row][position] * MB[position][column] ; } MC[row][column]=pom; } // kód vlákna pro výpočet hodnoty jednoho prvku výsledné matice MC void *mult_worker(void *arg) { package_t *p=(package_t *)arg; mult(p->size, p->arow, p->bcol, *(p->ma), *(p->mb), *(p->mc)); free(p); pthread_exit(null); } Převzato z [1]
41 Násobení matic ( pomocí OpenMP) #pragma parallel for numthreads(size) schedule(static,1) \ shared(a, B, C, size) private(column, row, position)\ for(row = 0; row < size; row++) { #pragma for numthreads(size) schedule(static,1) for (column = 0; column < size; column++) { pom=0; for(int position = 0; position < size; position++) { pom+ = MA[row][position] * MB[position][column];} MC[row][column] = pom; }}
42 Násobení matic (GPU kód) Void kernel (int row,int column) { int position ; float pom=0.0; for(int position = 0; position < size; position++) { pom += MA[row][position] * MB[position][column]; MC[row][column]=pom;} Void main() { Nakopíruj data (matice A a B) z hlavní paměti do paměti GPU Spusť size*size vláken (instancí kernelu) s příslušnými parametry row a column Nakopíruj data (matice C) z paměti GPU do hlavní paměti } Zajímavé je, že se ztratily dva for cykly.
43 Násobení matic (CPU) - závěry CPU verze má problémy s vytvoření velkého počtu vláken (stovky až tisíce) Výpočet má příliš velkou granularitu, paralelizace nepokryje režii tvorby, synchronizace a zániku vláken. Na CPU je nejefektivnější (u úloh tohoto typu) vytvářet počet vláken rovný počtu fyzických jader (technologie HT zde nezafunguje). To znamená neparalelizovat výpočet na úrovni prvků matice C, ale bloků for cyklu pro proměnou row (cyklus nejvíce vně). Výkon upravené CPU verze není velký (toto je způsobeno naivní implementací), ale zrychlení je lineární.
44 Násobení matic (GPU) - závěry GPU verze nemá (díky HW akceleraci) problémy s vytvoření velkého počtu vláken (stovky až tisíce). Další zjemňování nemá smysl, ale nemá velký dopad na výkon. Výkon této GPU verze není velký, toto je způsobeno naivní implementací
45 Literatura [1] J. Sloup: přednášky z předmětu GPGPU, KPGI FEL ČVUT. [2] CUDA Programming Guide for CUDA Toolkit [3] René Müller: Data Processing on GPUs and GPGPUs. Lecture in class :Data Processing on Modern Hardware. ETH Zurich. Fall [4]
Úvod do GPGPU J. Sloup, I. Šimeček
Úvod do GPGPU J. Sloup, I. Šimeček xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 MI-PRC, LS2010/11, Predn.3 Příprava studijního programu
VíceArchitektury VLIW M. Skrbek a I. Šimeček
Architektury VLIW M. Skrbek a I. Šimeček xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 MI-PAP, LS2010/11, Predn.3 Příprava studijního programu
VícePřednáška 1. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012
Přednáška 1 Úvod do HW a OS. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského
VíceČást 2 POROVNÁNÍ VÝKONNOSTI A POUŽITELNOSTI ARCHITEKTUR V TYPICKÝCH APLIKACÍCH
Část 2 POROVNÁNÍ VÝKONNOSTI A POUŽITELNOSTI ARCHITEKTUR V TYPICKÝCH APLIKACÍCH Paralelizace kódu Rozdíl v přístupu k paralelizaci kódu si ukážeme na operaci násobení matice maticí: Mějme tři čtvercové
VíceNvidia CUDA Paralelní programování na GPU
Mendelova univerzita v Brně Provozně ekonomická fakulta Nvidia CUDA Paralelní programování na GPU 2014 O čem to bude... Trocha historie Shadery Unifikace GPGPU CUDA Využití GPGPU GPU a jeho Hardware Nvidia
VíceCUDA J. Sloup a I. Šimeček
CUDA J. Sloup a I. Šimeček xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 MI-PAP, LS2010/11, Predn.6 Příprava studijního programu Informatika
VícePředstavení a vývoj architektur vektorových procesorů
Představení a vývoj architektur vektorových procesorů Drong Lukáš Dro098 1 Obsah Úvod 3 Historie, současnost 3 Architektura 4 - pipelining 4 - Operace scatter a gather 4 - vektorové registry 4 - Řetězení
VíceGPU A CUDA HISTORIE GPU CO JE GPGPU? NVIDIA CUDA
GPU A CUDA HISTORIE GPU CO JE GPGPU? NVIDIA CUDA HISTORIE GPU GPU = graphics processing unit jde o akcelerátory pro algoritmy v 3D grafice a vizualizaci mnoho z nich původně vzniklo pro účely počítačových
VíceNvidia CUDA Paralelní programování na GPU
Mendelova univerzita v Brně Provozně ekonomická fakulta Nvidia CUDA Paralelní programování na GPU 2017 O čem to bude... Trocha historie Shadery Unifikace GPGPU CUDA Využití GPGPU GPU a jeho Hardware Nvidia
VícePokročilé architektury počítačů
Pokročilé architektury počítačů Tutoriál 3 CUDA - GPU Martin Milata Výpočetní model CUDA Organizace kódu Sériově organizovaný kód určený pro CPU Paralelní kód prováděný na GPU Označuje se jako kernel GPU
VíceOperační systémy. Přednáška 1: Úvod
Operační systémy Přednáška 1: Úvod 1 Organizace předmětu Přednášky každé úterý 18:00-19:30 v K1 Přednášející Jan Trdlička email: trdlicka@fel.cvut.z kancelář: K324 Cvičení pondělí, úterý, středa Informace
VícePokročilé architektury počítačů
Pokročilé architektury počítačů Přednáška 5 GPU - CUDA Martin Milata Obsah Obecné výpočty a GPU Grafické procesory NVIDIA Tesla Výpočetní model Paměťový model GT200 Zpracování instrukcí Vydávání instrukcí
VíceOPS Paralelní systémy, seznam pojmů, klasifikace
Moorův zákon (polovina 60. let) : Výpočetní výkon a počet tranzistorů na jeden CPU chip integrovaného obvodu mikroprocesoru se každý jeden až dva roky zdvojnásobí; cena se zmenší na polovinu. Paralelismus
VíceGPGPU Aplikace GPGPU. Obecné výpočty na grafických procesorech. Jan Vacata
Obecné výpočty na grafických procesorech Motivace Úvod Motivace Technologie 3 GHz Intel Core 2 Extreme QX9650 Výkon: 96 GFLOPS Propustnost paměti: 21 GB/s Orientační cena: 1300 USD NVIDIA GeForce 9800
VíceZáklady informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2
Základy informatiky 2. Přednáška HW Lenka Carr Motyčková February 22, 2011 Základy informatiky 1 February 22, 2011 Základy informatiky 2 February 22, 2011 Základy informatiky 3 February 22, 2011 Základy
VíceObecné výpočty na GPU v jazyce CUDA. Jiří Filipovič
Obecné výpočty na GPU v jazyce CUDA Jiří Filipovič Obsah přednášky motivace architektura GPU CUDA programovací model jaké algoritmy urychlovat na GPU? optimalizace Motivace Moorův zákon stále platí pro
VíceCharakteristika dalších verzí procesorů v PC
Charakteristika dalších verzí procesorů v PC 1 Cíl přednášky Poukázat na principy tvorby architektur nových verzí personálních počítačů. Prezentovat aktuální pojmy. 2 Úvod Zvyšování výkonu cestou paralelizace
VícePřehled paralelních architektur. Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur
Přehled paralelních architektur Přehled paralelních architektur Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur Přehled I. paralelní počítače se konstruují
VíceGPGPU. Jan Faigl. Gerstnerova Laboratoř pro inteligentní rozhodování a řízení České vysoké učení technické v Praze
GPGPU Jan Faigl Gerstnerova Laboratoř pro inteligentní rozhodování a řízení České vysoké učení technické v Praze 8. cvičení katedra kybernetiky, FEL, ČVUT v Praze X33PTE - Programovací techniky GPGPU 1
VíceParalelní a distribuované výpočty (B4B36PDV)
Paralelní a distribuované výpočty (B4B36PDV) Branislav Bošanský, Michal Jakob bosansky@fel.cvut.cz Artificial Intelligence Center Department of Computer Science Faculty of Electrical Engineering Czech
VíceREALIZACE SUPERPOČÍTAČE POMOCÍ GRAFICKÉ KARTY
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF TELECOMMUNICATIONS
VíceIntel Itanium. Referát. Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Pokročilé architektury počítačů Intel Itanium Referát Tomáš Vojtas (voj209) 2.12.2009 Úvod Itanium
VíceCell broadband engine architecture
Cell broadband engine architecture Semestrální práce z předmětu 31SCS Martin Černý Abstrakt Specifikace procesoru ukazují při zachování nízké pořizovací ceny na velké výpočetní kapacity. Procesor kombinuje
VíceCo je grafický akcelerátor
Co je grafický akcelerátor jednotka v osobním počítači či herní konzoli přebírá funkce hlavního procesoru pro grafické operace graphics renderer odlehčuje hlavnímu procesoru paralelní zpracování vybaven
VíceCHARAKTERISTIKA MODERNÍCH PENTIÍ. Flynnova klasifikace paralelních systémů
Úvod: CHARAKTERISTIKA MODERNÍCH PENTIÍ Flynnova klasifikace paralelních systémů Paralelní systémy lze třídit z hlediska počtu toků instrukcí a počtu toků dat: SI systém s jedním tokem instrukcí (Single
VíceIB109 Návrh a implementace paralelních systémů. Organizace kurzu a úvod. RNDr. Jiří Barnat, Ph.D.
IB109 Návrh a implementace paralelních systémů Organizace kurzu a úvod RNDr. Jiří Barnat, Ph.D. Sekce B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 2/25 Organizace kurzu Organizace
VíceEvropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti MI-SOC: 9 SYSTÉMOVÝ NÁVRH, IP-CORES doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii ČVUT v Praze
VícePohled do nitra mikroprocesoru Josef Horálek
Pohled do nitra mikroprocesoru Josef Horálek Z čeho vycházíme = Vycházíme z Von Neumannovy architektury = Celý počítač se tak skládá z pěti koncepčních bloků: = Operační paměť = Programový řadič = Aritmeticko-logická
VícePROCESOR. Typy procesorů
PROCESOR Procesor je ústřední výkonnou jednotkou počítače, která čte z paměti instrukce a na jejich základě vykonává program. Primárním úkolem procesoru je řídit činnost ostatních částí počítače včetně
VíceParalelní systémy. SIMD jeden tok instrukcí + více toků dat jedním programem je zpracováváno více různých souborů dat
Paralelní systémy Paralelním systémem rozumíme takový systém, který paralelně zpracovává více samostatných úloh nebo zpracování určité úlohy automaticky rozdělí do menších částí a paralelně je zpracovává.
VícePřednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012
Přednáška Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského
VíceSběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC
Informační systémy 2 Obsah: Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC ROM RAM Paměti typu CACHE IS2-4 1 Dnešní info: Informační systémy 2 03 Informační systémy
VíceParalelní programování
Paralelní programování přednáška 5 Michal Krupka 15. března 2011 Michal Krupka (KI UP) Paralelní programování 15. března 2011 1 / 13 Ještě ke kritickým sekcím Použití v praxi obvykle pomocí zámků (locks)
VíceParalelní programování
Paralelní programování přednášky Jan Outrata únor květen 2011 Jan Outrata (KI UP) Paralelní programování únor květen 2011 1 / 15 Simulátor konkurence abstrakce = libovolné proložení atom. akcí sekvenčních
VíceIB109 Návrh a implementace paralelních systémů. Organizace kurzu a úvod. Jiří Barnat
IB109 Návrh a implementace paralelních systémů Organizace kurzu a úvod Jiří Barnat Sekce IB109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 2/32 Organizace kurzu Organizace kurzu
VíceVícevláknové programování na CPU: POSIX vlákna a OpenMP I. Šimeček
Vícevláknové programování na CPU: POSIX vlákna a OpenMP I. Šimeček xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 MI-PRC, LS2010/11, Predn.2
VíceProcesy a vlákna (Processes and Threads)
ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna (Processes and Threads) Správa procesů a vláken České vysoké učení technické Fakulta elektrotechnická 2012 Použitá literatura [1] Stallings, W.: Operating
VíceProcesor Intel Pentium (1) Procesor Intel Pentium (3) Procesor Intel Pentium Pro (1) Procesor Intel Pentium (2)
Procesor Intel Pentium (1) 32-bitová vnitřní architektura s 64-bitovou datovou sběrnicí Superskalární procesor: obsahuje více než jednu (dvě) frontu pro zřetězené zpracování instrukcí (značeny u, v) poskytuje
VíceStrojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).
Strojový kód k d a asembler procesoru MIPS Použit ití simulátoru SPIM K.D. - cvičení ÚPA 1 MIPS - prostředí 32 ks 32bitových registrů ( adresa registru = 5 bitů). Registr $0 je zero čte se jako 0x0, zápis
VíceJan Nekvapil ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická
Jan Nekvapil jan.nekvapil@tiscali.cz ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Motivace MMX, EMMX, MMX+ 3DNow!, 3DNow!+ SSE SSE2 SSE3 SSSE3 SSE4.2 Závěr 2 Efektivní práce s vektory
VíceProcesor. Procesor FPU ALU. Řadič mikrokód
Procesor Procesor Integrovaný obvod zajišťující funkce CPU Tvoří srdce a mozek celého počítače a do značné míry ovlivňuje výkon celého počítače (čím rychlejší procesor, tím rychlejší počítač) Provádí jednotlivé
VíceVyuºití GPGPU pro zpracování dat z magnetické rezonance
Vyuºití pro zpracování dat z magnetické rezonance Katedra matematiky, Fakulta jaderná a fyzikáln inºenýrská, ƒeské vysoké u ení technické v Praze Bakalá ská práce 2007/2008 Cíle práce Zpracování dat z
VíceXbox 360 Cpu = IBM Xenon
Xbox 360 Cpu = IBM Xenon VŠB TUO Ostrava 7.11.2008 Zdeněk Dubnický Architektura procesoru IBM Xenon a její přínosy -architektura -CPU -FSB -testování a ladění IBM Xenon Vývoj tohoto procesoru začal v roce
VíceGPU a CUDA. Historie GPU. Co je GPGPU? Nvidia CUDA
GPU a CUDA Historie GPU Co je GPGPU? Nvidia CUDA Historie GPU GPU = graphics processing unit jde o akcelerátory pro algoritmy v 3D grafice a vizualizaci mnoho z nich původně vzniklo pro účely počítačových
Více2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu
Název školy Číslo projektu Autor Název šablony Název DUMu Tematická oblast Předmět Druh učebního materiálu Anotace Vybavení, pomůcky Ověřeno ve výuce dne, třída Střední průmyslová škola strojnická Vsetín
VíceHlavní využití počítačů
Úvod Hlavní využití počítačů Počítače jsou výkonné nástroje využívané pro zpracování dat. Provádějí: načtení a binární kódování dat provedení požadovaného výpočtu zobrazení výsledku Hlavní využití počítačů
VíceObsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21
Stručný obsah 1. Hardware, procesory a vlákna... 19 2. Programování s ohledemna výkon... 45 3. Identifikování příležitostí pro paralelizmus... 93 4. Synchronizace a sdílení dat... 123 5. Vlákna v rozhraní
VíceIntel 80486 (2) Intel 80486 (1) Intel 80486 (3) Intel 80486 (4) Intel 80486 (6) Intel 80486 (5) Nezřetězené zpracování instrukcí:
Intel 80486 (1) Vyroben v roce 1989 Prodáván pod oficiálním názvem 80486DX Plně 32bitový procesor Na svém čipu má integrován: - zmodernizovaný procesor 80386 - numerický koprocesor 80387 - L1 (interní)
VíceArchitektura grafických ip pro Xbox 360 a PS3
Architektura grafických ip pro Xbox 360 a PS3 Jakub Stoszek sto171 VŠB TU Ostrava 12.12.2008 Obsah Grafická karta ATI Xenox (Xbox 360)...3 ip grafické karty ATI Xenos (Xbox 360)...3 Pam grafické karty
VícePřednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012
Přednáška Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského
VíceZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14
ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 14 0:40 1.3. Vliv hardware počítače na programování Vliv
VíceŘešíme úlohu zpracování velkého množství dat. Data jsou symetrická, úloha je dobře paralelizovatelná
GPGPU Motivace Řešíme úlohu zpracování velkého množství dat Data jsou symetrická, úloha je dobře paralelizovatelná Propaganda výrobců grafických karet: Vezměte váš C-čkový kód, zkompilujte a pusťte jej
VíceGrafické karty. Autor: Kulhánek Zdeněk
Grafické karty Autor: Kulhánek Zdeněk Škola: Hotelová škola, Obchodní akademie a Střední průmyslová škola Teplice, Benešovo náměstí 1, příspěvková organizace Kód: VY_32_INOVACE_ICT_826 1.11.2012 1 1. Grafická
VíceCharakteristika dalších verzí procesorů Pentium
Charakteristika dalších verzí procesorů Pentium 1 Cíl přednášky Poukázat na principy architektur nových verzí typů Pentií. Prezentovat aktuální pojmy. 2 Úvod Paralelní systémy lze třídit z hlediska počtu
VíceArchitektura procesorů PC shrnutí pojmů
Architektura procesorů PC shrnutí pojmů 1 Co je to superskalární architektura? Minimálně dvě fronty instrukcí. Provádění instrukcí je možné iniciovat současně, instrukce se pak provádějí paralelně. Realizovatelné
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VícePokročilé architektury počítačů
Pokročilé architektury počítačů Přednáška 7 CUDA První paralelní aplikace Martin Milata Obsah SIMD versus SIMT Omezení a HW implementace Způsob zpracování warp skupiny vláken CUDA - pohled programátora
VíceČinnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus
Činnost CPU Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus Hodinový cyklus CPU je synchronní obvod nutné hodiny (f CLK ) Instrukční cyklus IF = doba potřebná
VícePŘEDSTAVENÍ GRAFICKÉHO PROCESORU NVIDIA G200
PŘEDSTAVENÍ GRAFICKÉHO PROCESORU NVIDIA G200 Bc.Adam Berger Ber 208 Historie a předchůdci G200 V červnu roku 2008 spatřila světlo světa nová grafická karta od společnosti Nvidia. Tato grafická karta opět
VíceStruktura a architektura počítačů (BI-SAP) 7
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 7 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii
VíceŘešíme úlohu zpracování velkého množství dat. Data jsou symetrická, úloha je dobře paralelizovatelná. Propaganda výrobců grafických karet:
GPGPU Motivace Řešíme úlohu zpracování velkého množství dat Data jsou symetrická, úloha je dobře paralelizovatelná Propaganda výrobců grafických karet: Vezměte váš C-čkový kód, zkompilujte a pusťte jej
VíceGrafické karty s podporou DirectX 11 Quynh Trang Dao Dao007
Pokročilé Architektury Počítačů 2009/2010 Semestrální projekt Grafické karty s podporou DirectX 11 Quynh Trang Dao Dao007 1. DirectX 11 V posledních pár letech se rozhraní DirectX dostalo do popředí a
VíceTechniky zvýšení výkonnosti procesoru, RISC a CISC procesory
Techniky zvýšení výkonnosti procesoru, RISC a CISC procesory Kategorizace architektur počítačů Co popisuje architektura počítačů: (CPU = ALU + řadič + paměť + Vstupy/Výstupy) Subskalární architektura (von
VíceParalelní výpočty ve finančnictví
Paralelní výpočty ve finančnictví Jan Houška HUMUSOFT s.r.o. houska@humusoft.cz Výpočetně náročné úlohy distribuované úlohy mnoho relativně nezávislých úloh snížení zatížení klientské pracovní stanice
VíceGymnázium a Střední odborná škola, Rokycany, Mládežníků 1115
Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: 3 CZ.1.07/1.5.00/34.0410 Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek:
VícePokročilé architektury počítačů
Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Pokročilé architektury počítačů Architektura Intel Larrabee 5.12.2009 Josef Stoklasa STO228 Obsah: 1. Úvod do tajů
VíceDalší aspekty architektur CISC a RISC Aktuálnost obsahu registru
Cíl přednášky: Vysvětlit principy práce s registry v architekturách RISC a CISC, upozornit na rozdíly. Vysvětlit možnosti využívání sad registrů. Zabývat se principy využívanými v procesorech Intel. Zabývat
VíceParalení programování pro vícejádrové stroje s použitím OpenMP. B4B36PDV Paralelní a distribuované výpočty
Paralení programování pro vícejádrové stroje s použitím OpenMP B4B36PDV Paralelní a distribuované výpočty Minulé cvičení: Vlákna a jejich synchronizace v C++ 11... 1 Minulé cvičení: Vlákna a jejich synchronizace
Vícevlastnosti, praktické zkušenosti
Obecné výpočty na grafických kartách použitelnost, vlastnosti, praktické zkušenosti Martin Kruliš, Jakub Yaghob KSI MFF UK Malostranské nám. 25, Praha {krulis,yaghob}@ksi.mff.cuni.cz Abstrakt. Nedávný
VícePROCESORY. Typy procesorů
PROCESORY Procesor (CPU Central Processing Unit) je ústřední výkonnou jednotkou počítače, která čte z paměti instrukce a na jejich základě vykonává program. Primárním úkolem procesoru je řídit činnost
VíceBlue Gene 24. 11. 2009. Vysoká škola báňská-technická univerzita Ostrava. Blue Gene. Karel Chrastina. Úvod. Blue Gene L. Blue Gene P.
Blue Gene Vysoká škola báňská-technická univerzita Ostrava 24. 11. 2009 Obsah prezentace 1 2 3 4 5 Trocha pojmů a historie FLOPS FLoating point Operations Per Second. Někdy se zapisuje jako flop, flop/s.
VícePovídání na téma. SUPERPOČÍTAČE DNES A ZÍTRA (aneb krátký náhled na SC) 3. 12. 2009 Filip Staněk
Povídání na téma SUPERPOČÍTAČE DNES A ZÍTRA (aneb krátký náhled na SC) 3. 12. 2009 Filip Staněk Co je to vlastně SC? Výpočetní systém, který určuje hranici maximálního možného výpočetního výkonu......v
VícePrincip funkce počítače
Princip funkce počítače Princip funkce počítače prvotní úlohou počítačů bylo zrychlit provádění matematických výpočtů první počítače kopírovaly obvyklý postup manuálního provádění výpočtů pokyny pro zpracování
VícePV109: Historie a vývojové trendy ve VT
PV109: Historie a vývojové trendy ve VT Vývojové trendy Luděk Matyska Fakulta informatiky Masarykovy univerzity podzim 2014 Luděk Matyska (FI MU) PV109: Historie a vývojové trendy ve VT podzim 2014 1 /
VíceGPU Computing.
GPU Computing Motivace Procesory (CPU, Central Processing Units) jsou rychlé, paměť nestačí poskytovat data. Běžným lékem na latenční dobu (memory latency) paměti bývá užívání rychlých (ale malých) cache
VíceIng. Jan Buriánek. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jan Buriánek, 2010
Ing. Jan Buriánek (ČVUT FIT) GPU a GTC BI-MGA, 2010, Přednáška 11 1/29 Ing. Jan Buriánek Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jan Buriánek,
VíceEvropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti MI-SOC: 8 SÍTĚ NAČIPU (NOC) doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii ČVUT v Praze Hana
VíceCvičení MI-PAP I. Šimeček, M. Skrbek, J. Trdlička
Cvičení MI-PAP I. Šimeček, M. Skrbek, J. Trdlička xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 MI-PAP, LS2010/11, Cvičení 1-6 Příprava studijního
VíceCache paměť - mezipaměť
Cache paměť - mezipaměť 10.přednáška Urychlení přenosu mezi procesorem a hlavní pamětí Hlavní paměť procesoru je typu DRAM a je pomalá. Proto se mezi pomalou hlavní paměť a procesor vkládá menší, ale rychlá
VícePaměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3)
Paměti EEPROM (1) EEPROM Electrically EPROM Mají podobné chování jako paměti EPROM, tj. jedná se o statické, energeticky nezávislé paměti, které je možné naprogramovat a později z nich informace vymazat
VíceStruktura a architektura počítačů (BI-SAP) 1
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 1 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii
VíceRISC a CISC architektura
RISC a CISC architektura = dva rozdílné přístupy ke konstrukci CPU CISC (Complex Instruction Set Computer) vývojově starší přístup: pomoci konstrukci překladače z VPP co nejpodobnějšími instrukcemi s příkazy
VíceSběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC
Informatika 2 Technické prostředky počítačové techniky - 2 Přednáší: doc. Ing. Jan Skrbek, Dr. - KIN Přednášky: středa 14 20 15 55 Spojení: e-mail: jan.skrbek@tul.cz 16 10 17 45 tel.: 48 535 2442 Obsah:
VíceMatematika v programovacích
Matematika v programovacích jazycích Pavla Kabelíková am.vsb.cz/kabelikova pavla.kabelikova@vsb.cz Úvodní diskuze Otázky: Jaké programovací jazyky znáte? S jakými programovacími jazyky jste již pracovali?
VíceVYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND
VícePřednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010
Přednášky o výpočetní technice Hardware teoreticky Adam Dominec 2010 Rozvržení Historie Procesor Paměť Základní deska přednášky o výpočetní technice Počítací stroje Mechanické počítačky se rozvíjely už
VícePatrik Veselík Muzeum počítačů o.s.
Patrik Veselík Muzeum počítačů o.s. [000] Procesory [001] Urychlovače výpočetního výkonu [010] Mainframe [011] Šifrovací doplňky [100] Pevné disky [101] Streamery a jejich média [110] Likvidace datových
VíceProcesor. Základní prvky procesoru Instrukční sada Metody zvýšení výkonu procesoru
Počítačové systémy Procesor Miroslav Flídr Počítačové systémy LS 2006-1/17- Západočeská univerzita v Plzni Víceúrovňová organizace počítače Digital logic level Microarchitecture level Processor Instruction
VíceÚvod do architektur personálních počítačů
Úvod do architektur personálních počítačů 1 Cíl přednášky Popsat principy proudového zpracování informace. Popsat principy zřetězeného zpracování instrukcí. Zabývat se způsoby uplatnění tohoto principu
Více4-1 4. Přednáška. Strojový kód a data. 4. Přednáška ISA. 2004-2007 J. Buček, R. Lórencz
4-4. Přednáška 4. Přednáška ISA J. Buček, R. Lórencz 24-27 J. Buček, R. Lórencz 4-2 4. Přednáška Obsah přednášky Násobení a dělení v počítači Základní cyklus počítače Charakteristika třech základní typů
VíceParalelní architektury se sdílenou pamětí typu NUMA. NUMA architektury
Paralelní architektury se sdílenou pamětí typu NUMA NUMA architektury Multiprocesorové systémy s distribuovanou pamětí I. úzkým hrdlem multiprocesorů se sdílenou pamětí je datová komunikace s rostoucím
VícePrincipy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna
Principy operačních systémů Lekce 5: Multiprogramming a multitasking, vlákna Multiprogramování předchůdce multitaskingu Vzájemné volání: Implementován procesem (nikoliv OS) Procesu je přidělen procesor,
VíceArchitektury CISC a RISC, uplatnění v personálních počítačích - pokračování
Architektury CISC a RISC, uplatnění v personálních počítačích - pokračování 1 Cíl přednášky Vysvětlit, jak pracují architektury CISC a RISC, upozornit na rozdíly. Upozornit, jak se typické rysy obou typů
VíceFaculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague
Tomáš Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague Zjednodušené schéma systému z základ hardware pro mainframe tvoří: operační pamět - MAIN / REAL STORAGE jeden
VíceOperační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit
Jednoduché stránkování Operační systémy Přednáška 8: Správa paměti II Hlavní paměť rozdělená na malé úseky stejné velikosti (např. 4kB) nazývané rámce (frames). Program rozdělen na malé úseky stejné velikosti
VíceVlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.
Trochu teorie Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Každá spuštěná aplikace má alespoň jeden proces
VíceZákladní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard
Základní deska (1) Označována také jako mainboard, motherboard Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje: procesor (mikroprocesor) patici pro numerický koprocesor (resp. osazený
VíceSběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC
Informatika 2 Technické prostředky počítačové techniky - 2 Přednáší: doc. Ing. Jan Skrbek, Dr. - KIN Přednášky: středa 14 20 15 55 Spojení: e-mail: jan.skrbek@tul.cz 16 10 17 45 tel.: 48 535 2442 Obsah:
VíceOptimalizace pro GPU hardware
Optimalizace pro GPU hardware Jiří Filipovič jaro 2015 Jiří Filipovič Optimalizace pro GPU hardware 1 / 52 Paralelismus GPU Paralelní algoritmy je nutno navrhovat vzhledem k paralelismu, který poskytuje
VíceParalelní a distribuované výpočty (B4B36PDV)
Paralelní a distribuované výpočty (B4B36PDV) Branislav Bošanský, Michal Jakob bosansky@fel.cvut.cz Artificial Intelligence Center Department of Computer Science Faculty of Electrical Engineering Czech
Více