Paralelní programování
|
|
- Luděk Špringl
- před 8 lety
- Počet zobrazení:
Transkript
1 Paralelní programování přednáška 5 Michal Krupka 15. března 2011 Michal Krupka (KI UP) Paralelní programování 15. března / 13
2 Ještě ke kritickým sekcím Použití v praxi obvykle pomocí zámků (locks) klasické objekty (někdy libovolné, někdy speciální třídy) mají metody na vstupní a výstupní protokol (enter, exit) kritická sekce se označí pomocí klíčového slova Příklad v C# Object thislock = new Object(); lock (thislock) { // Kritická sekce } Cvičení 1. V globálním poli accounts jsou uloženy zůstatky bankovních účtů. Napište funkci transfer, která převede zadanou částku mezi účty: (transfer a1 a2 amount). Můžete použít pomocná globální data. Michal Krupka (KI UP) Paralelní programování 15. března / 13
3 Ještě ke kritickým sekcím Cvičení 2. Vylepšete funkci transfer tak, aby šlo současně (bez čekání) převádět částku mezi různými dvojicemi účtů. 3. Vylepšete funkci transfer tak, aby kromě požadavků z předchozího příkladu umožňovala provádět účetní uzávěrku, tj. test, zda součet zůstatků na všech účtech odpovídá očekávané hodnotě (jelikož provádíme pouze přesuny mezi našimi účty, musí být tento součet konstantní). Udělejte to tak, že napíšete funkci balance, která vrátí součet zůstatků na všech účtech. Tato funkce musí za všech okolností vracet stejnou hodnotu. Může dočasně zablokovat převody mezi účty (tj. způsobit čekání ve funkci transfer). Pozor na uváznutí! Michal Krupka (KI UP) Paralelní programování 15. března / 13
4 Flynnova taxonomie klasifikace architektur počítačů podle možnosti - paralelního vykonávání instrukcí - paralelního zpracování dat Michael J. Flynn, 1966 Single Instruction Multiple Instruction Single Data SISD MISD Multiple Data SIMD MIMD SISD Klasická von Neumannova architektura (PC s jedním procesorem) MISD Neobvyklé, např. kvůli zabránění chybám (raketoplán) SIMD Paralelní zpracování dat stejným algoritmem (některé superpočítače, vektorové procesory, GPU) MIMD Více procesů zpracovává různá data (moderní PC, distribuované systémy) Michal Krupka (KI UP) Paralelní programování 15. března / 13
5 Flynnova taxonomie SISD jeden procesor provádí jeden proud instrukcí, pracuje s daty uloženými v jedné paměti Příklad: klasická von Neumannova architektura MISD více procesorů provádí současně více programů s týmiž daty Příklady: nepříliš obvyklé, používá se kvůli předcházení chybám. Např. raketoplán (pět počítačů zpracovává stejná data). Michal Krupka (KI UP) Paralelní programování 15. března / 13
6 Flynnova taxonomie SIMD více procesorů provádí současně (ve stejném taktu) jeden proud instrukcí na různých datech mezi procesy není nutná synchronizace masivně paralelní výpočty Příklady: Superpočítače v 70. a 80. letech, např. Cray: Cray-1, hradel procesorů 113 variant vektorové instrukce pohovka zdarma Michal Krupka (KI UP) Paralelní programování 15. března / 13
7 Flynnova taxonomie Connection Machine: CM-1, 2, konec 80. let jednobitových procesorů, uspořádaných do 12-rozměrné hyperkrychle umělá inteligence Další: vektorové instrukce v procesorech (UltraSPARC I: VIS, x86: MMX, POWER: AltiVec) Michal Krupka (KI UP) Paralelní programování 15. března / 13
8 Flynnova taxonomie MIMD více procesorů provádí současně více úloh na různých datech mezi procesy je nutná synchronizace Příklad: moderní osobní počítače i superpočítače, distribuované systémy Podskupinou je SPMD: Single Program/Multiple Data jednotlivé procesory vykonávají tentýž program (s různými daty), ale ne nutně ve stejném kroku, je nutná synchronizace pomocí bariér (viz dále) Příklady nejběžnější způsob paralelního programování i na MIMD, moderní GPU: stovky jader, souběžně tisíce procesů - na některé úkoly mnohonásobně rychlejší než CPU - programové modely: CUDA (NVIDIA), OpenCL (Apple, otevřený standard, široce podporovaný) - aplikace: zpracování obrazu, modelování a simulace, výpočetní chemie, biologie, medicína... Michal Krupka (KI UP) Paralelní programování 15. března / 13
9 Bariéry (Jordan 1978) Synchronizační nástroj, používaný zejména při SPMD programování. Bariéra Místo v programu, na kterém procesy čekají, dokud jej všechny nedosáhnou. Příklad: výpočet n-tého řádku Pascalova trojúhelníku pomocí n procesů Obrázek: Hodnoty pole A v jednotlivých krocích algoritmu Michal Krupka (KI UP) Paralelní programování 15. března / 13
10 Bariéry Algoritmus pro výpočet n-tého řádku Pascalova trojúhelníka N-tý řádek Pascalova trojúhelníka integer A[N + 2] 0, A[1] 1 i-tý proces pro i od 1 do N 1 integer sum 1: loop N 1 times 2: sum A[i 1] + A[i] 3: barrier 4: A[i] sum 5: barrier Obrázek: N-tý řádek Pascalova trojúhelníka Michal Krupka (KI UP) Paralelní programování 15. března / 13
11 Bariéry Implementace Ukážeme jednu možnost implementace bariéry. Nejprve bariéra pro dva procesy, implementovaná symetricky: Bariéra pro dva procesy Boolean arrive[poč. procesů] [false,..., false] Proces i Proces j 1: await not arrive[i] 1: await not arrive[j] 2: arrive[i] = true 2: arrive[j] = true 3: await arrive[j] 3: await arrive[i] 4: arrive[j] = false 4: arrive[i] = false Obrázek: Symetrická bariéra pro dva procesy Cvičení 3. Stanovte podmínky bezpečnosti a živosti pro tento algoritmus a zdůvodněte jejich splnění. 4. Implementujte tento algoritmus. Michal Krupka (KI UP) Paralelní programování 15. března / 13
12 Bariéry Implementace pro více procesů: Butterfly (motýlkovitá) bariéra pro počet procesů N = 2 X, logaritmická složitost na úrovni s se synchronizují procesy ve vzdálenosti 2 s po projití všech úrovní se proces přímo nebo nepřímo synchronizoval s každým jiným procesem Pracovník Úroveň 1 Úroveň 2 Úroveň 3 Cvičení 5. Implementujte motýlkovitou bariéru. Michal Krupka (KI UP) Paralelní programování 15. března / 13
13 Bariéry Implementace pro více procesů: Diseminační bariéra lepší pro počet procesů N 2 X, logaritmická složitost na úrovni s se proces i synchronizuje s procesem ve vzdálenosti 2 s modulo N: nastaví vlajku procesu (i + 2 s ) mod N čeká na a resetuje vlajku procesu (i 2 s ) mod N Pracovník Úroveň 1 Úroveň 2 Úroveň 3 Cvičení 6. Implementujte diseminační bariéru. Michal Krupka (KI UP) Paralelní programování 15. března / 13
Paralelní programování
Paralelní programování přednáška 3 Michal Krupka 1. března 2011 Michal Krupka (KI UP) Paralelní programování 1. března 2011 1 / 14 Ještě k atomickým proměnným Další neatomické proměnné Mohou to být proměnné,
OPS 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
Př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í
Paralelní 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
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
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á.
Paralelní programování
Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 16 Semafory Await synchronizace používající await běží na železe = využívají
Pro úlohy digitálního zpracování obrazu je příznačný velký objem dat. Doposud ani rychlé počítače s konvenční sériovou architekturou nejsou schopny
Obrazová matice Pro úlohy digitálního zpracování obrazu je příznačný velký objem dat. Doposud ani rychlé počítače s konvenční sériovou architekturou nejsou schopny vykonat instrukce v čase, který odpovídá
Paralelní programování
Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 14 Atomické akce dále nedělitelná = neproložitelná jiným procesem izolovaná =
Operač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
Paralelní programování
Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 17 Monitor Semafor vedle aktivní (čekací smyčka, busy-wait) i pasivní implementace
Charakteristika 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
Procesy a vlákna - synchronizace
ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna - synchronizace České vysoké učení technické Fakulta elektrotechnická 2010 Studijní materiály a informace o předmětu http://measure.feld.cvut.cz/vyuka/predmety/bakalarske/navody
Paralelní programování
Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 11 Literatura Ben-Ari M.: Principles of concurrent and distributed programming.
Př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
Paralelní 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
Obecné 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
IB109 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
REALIZACE 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
Zá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
Př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í
Pavel Procházka. 3. prosince 2014
Jazyk C# (seminář 11) Pavel Procházka KMI 3. prosince 2014 Motivace Dnes už se prakticky nedělají jednojádrové procesory pokud potřebujeme výkon, musíme zapojit všechna jádra Často potřebujeme dělat více
Ú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
Paralelní 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
CHARAKTERISTIKA 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
Základní úrovně: Moorův zákon: multi-core mikroprocesory (CPU) hypertherading pipeline many-core Paralelní systém Instrukce iterace procedura Proces
Základní úrovně: hardwarová (procesory, jádra) programová (procesy, vlákna) algoritmická (uf...) zvýšení výkonu, redundance, jiné cíle, ale podobné nástroje a problémy. Moorův zákon: Počet tranzistorů/komponent,
Hlavní 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čů
Paralelní programování
Paralelní programování cvičení Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 13 Cvičení 1 Jazyk C POSIX Threads (UNIX) hlavičkový soubor pthread.h, knihovna
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 TECHNICKÉ VYBAVENÍ POČÍTAČŮ
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 TECHNICKÉ VYBAVENÍ POČÍTAČŮ 1) INFORMACE VE VÝPOČETNÍ TECHNICE 3 2) POČÍTAČOVÉ ARCHITEKTURY, POČÍTAČ JAKO ČÍSLICOVÝ STROJ 3 3) SIGNÁLY 3
Úvod SISD. Sekvenční výpočty SIMD MIMD
Úvod SISD Single instruction single data stream Sekvenční výpočty MISD 1. Přednáška Historie Multiple instruction single data stream SIMD Single instruction multiple data stream MIMD Multiple instruction
Vzájemné vyloučení procesů
PDV 10 2017/2018 Vzájemné vyloučení procesů Michal Jakob michal.jakob@fel.cvut.cz Centrum umělé inteligence, katedra počítačů, FEL ČVUT Příklad Bankovní server v cloudu. Dva zákaznici současně vloží 10
Osnova. Základy informatiky. 1. Přednáška Historie. Úvod. Kategorie počítačů z pohledu hardware
Osnova Lenka Carr Motyčková 1. Přednáška Historie 1 1. Historie vývoje počítačů 2. Struktura počítačů 3. číselné soustavy 4. Logika, logické operace 5. teorie informace, k odování 6. Operační systémy 7.
Procesy 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
Úvod do problematiky návrhu počítačových systémů. INP 2008 FIT VUT v Brně
Úvod do problematiky návrhu počítačových systémů INP 2008 FIT VUT v Brně Čím se budeme zabývat Budou nás zejména zajímat jednoprocesorové číslicové počítače: Funkce počítače Struktura propojení funkčních
Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz. Paralelní programování
Tomáš Foltýnek foltynek@pef.mendelu.cz Paralelní programování strana 2 Opakování Co je to síť? Co je to tok? Co je to velikost toku? Co je to řez? Co je to velikost řezu? Jaký je vztah mezi velikostí toku
Struktura počítačů z{kladní pojmy
Struktura počítačů z{kladní pojmy Cíl kapitoly: Úkolem této kapitoly je rozšíření znalostí o skladbě počítačů a procesorů a umožnit studentům pochopit činnost počítače a procesoru během z{kladních operací
Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem
Test prvočíselnosti Úkol: otestovat dané číslo N, zda je prvočíslem 1. zkusit všechny dělitele od 2 do N-1 časová složitost O(N) cca N testů 2. stačí zkoušet všechny dělitele od 2 do N/2 (větší dělitel
Obsah. 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í
Paralelní architektury - úvod
Paralelní architektury - úvod Úvod do paralelních architektur Příklady paralelních architektur Processor arrays Multiprocesory Multiprocesory se sdílenou pamětí Multiprocesory s distribuovanou pamětí Multipočítače
Využití paralelních výpočtů v geodézii
České vysoké učení technické v Praze Fakulta stavební Katedra mapování a kartografie Využití paralelních výpočtů v geodézii DOKTORSKÁ DISERTAČNÍ PRÁCE Ing. Martin Jeřábek Praha, září 2001 Doktorský studijní
Základy algoritmizace, Turingův stroj
Základy algoritmizace, Turingův stroj Matematické algoritmy (K611MA) Jan Přikryl, Miroslav Vlček 2. přednáška K611MA čtvrtek 1. října 2009 verze: 2009-10-15 00:55 1 1 Teoretický základ algoritmizace 1.1
13. Paralelní architektury SISD, SIMD, MISD, MIMD.
13. Paralelní architektury SISD, SIMD, MISD, MIMD. Obsah 13. Paralelní architektury SISD, SIMD, MISD, MIMD.... 1 13.1 Základní koncepce paralelismu... 2 13.2 Rozdělení paralelních systému... 2 13.2.1 Flynnova
Př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ž
Základní komunikační operace
Základní komunikační operace Úvod Operace send a recieve Blokující a neblokující posílání zpráv Blokující posílání zpráv Neblokující posílání zpráv One-to-all broadcast/all-to-one reduction All-to-all
Paralelní architektury - úvod
Paralelní architektury - úvod Úvod do paralelních architektur Příklady paralelních architektur Processor arrays Multiprocesory Multiprocesory se sdílenou pamětí Multiprocesory s distribuovanou pamětí Multipočítače
ZČU/FAV/KIV/PPR 1 Architektury paralelních počítačů, modely dekompozice výpočtu, interakce a výkonnost
Základní pojmy Program, programový kód o statický popis výpočetního postupu, tj. co bude počítač provádět o nemá stav Assembler o Překladač do strojového kódu cílového procesoru o I když formálně nesprávně,
Cvičení MI-PRC I. Šimeček
Cvičení MI-PRC 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, Cv.1-6 Příprava studijního programu Informatika
Ústav technické matematiky FS ( Ústav technické matematiky FS ) / 35
Úvod do paralelního programování 2 MPI Jakub Šístek Ústav technické matematiky FS 9.1.2007 ( Ústav technické matematiky FS ) 9.1.2007 1 / 35 Osnova 1 Opakování 2 Představení Message Passing Interface (MPI)
Hardware - komponenty počítačů Von Neumannova koncepce počítače. Von Neumannova koncepce počítače
V roce 1945 vystoupil na přednášce v USA matematik John von Neumann a představil architekturu samočinného univerzálního počítače (von Neumannova koncepce/schéma/architektura). Základy této koncepce se
Přednáška 3. Rekurze 1
Paradigmata programování 1 Přednáška 3. Rekurze 1 Michal Krupka KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI Obsah 1 Příklady 2 Rekurzivní procedury a rekurzivní výpočetní proces 3 Další příklady
OPTIMÁLNÍ SEGMENTACE DAT
ROBUST 2004 c JČMF 2004 OPTIMÁLNÍ SEGMENTACE DAT Petr Novotný Klíčová slova: Výpočetní statistika, po částech spojitá regrese. Abstrakt: Snížení paměťové náročnosti při výpočtu po částech spojitého regresního
Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií
VY_32_INOVACE_31_02 Škola Střední průmyslová škola Zlín Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Inovace výuky
vlastnosti, 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ý
Principy 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,
Pokroč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
Programování v C++, 2. cvičení
Programování v C++, 2. cvičení 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 Operátory new a delete 2 3 Operátory new a delete minule
Služba ve Windows. Služba (service) je program
Služby Windows Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání, školské
Paralelní programování
Paralelní programování přednášky Jan Outrata únor duben 2007 Jan Outrata (KI UP) Paralelní programování únor duben 2007 1 / 163 Úvod Paralelní (konkurentní) programování = konstrukce programu obsahujícího
INDIVIDUÁLNÍ PROJEKT 1 - ZPRACOVÁNÍ GNSS SIGNÁLU V GPU
V O J T Ě C H T E R Š 27.1.2013 INDIVIDUÁLNÍ PROJEKT 1 - ZPRACOVÁNÍ GNSS SIGNÁLU V GPU Ú K O L P R O J E K T U: Přeprogramování rychlé diskrétní Furierovy Transformace (FFT) do jazyka Open CL. V Y B R
Paralelizace výpočtů v systému Mathematica
Paralelizace výpočtů v systému Mathematica Zdeněk Buk bukz1@fel.cvut.cz České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů 2010 2 paralelizace-2010-buk-eval.nb Úvod Obsah prezentace
Architektury počítačů
Architektury počítačů skupina Identifyingvýzkumná the Interesting Points in Geometrical Figures of Certain Class Vysoké učení technické v Brně, Fakulta informačních technologií, Božetěchova 2, 612 66 Brno
Spuštění instalace. nastavení boot z cd v BIOSu vložení CD s instal. médiem spuštění PC. nastavení parametrů instalace (F2 čěština)
Instalace OS Linux Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání,
Operační systémy. Přednáška 4: Komunikace mezi procesy
Operační systémy Přednáška 4: Komunikace mezi procesy 1 Časově závislé chyby Dva nebo několik procesů používá (čte/zapisuje) společné sdílené prostředky (např. sdílená paměť, sdílení proměnné, sdílené
Pohled 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á
Přidělování paměti II Mgr. Josef Horálek
Přidělování paměti II Mgr. Josef Horálek Techniky přidělování paměti = Přidělování jediné souvislé oblasti paměti = Přidělování paměti po sekcích = Dynamické přemisťování sekcí = Stránkování = Stránkování
PŘ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
Principy operačních systémů. Lekce 6: Synchronizace procesů
Principy operačních systémů Lekce 6: Synchronizace procesů Kritická sekce Při multitaskingu (multithreadingu) různé procesy často pracují nad společnou datovou strukturou (např. zápis a čtení do/z fronty)
setup() { I = 0; } loop() { I = I + 1; }
PŘERUŠENÍ Procesor pracuje tak, že načítá z paměti jednotlivé instrukce a ty následně zpracovává. Instrukce se zpracovávají v pořadí v jakém jsou uloženy v paměti. Vezměme jednoduchý program, který v nekonečném
Architektura počítačů Paralelní zpracování
Architektura počítačů Paralelní zpracování http://d3s.mff.cuni.cz http://d3s.mff.cuni.cz/teaching/computer_architecture/ Lubomír Bulej bulej@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty faculty
4. Úvod do paralelismu, metody paralelizace
4. Úvod do paralelismu, metody paralelizace algoritmů Ing. Michal Bližňák, Ph.D. Ústav informatiky a umělé inteligence Fakulta aplikované informatiky UTB Zĺın Paralelní procesy a programování, Zĺın, 26.
Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr
Seminář z IVT Algoritmizace Slovanské gymnázium Olomouc Tomáš Kühr Algoritmizace - o čem to je? Zatím jsme se zabývali především tím, jak určitý postup zapsat v konkrétním programovacím jazyce (např. C#)
Vlákna a přístup ke sdílené paměti. B4B36PDV Paralelní a distribuované výpočty
Vlákna a přístup ke sdílené paměti B4B36PDV Paralelní a distribuované výpočty Minulé cvičení: Paralelizace nám může pomoct... 1 Minulé cvičení: Paralelizace nám může pomoct... B4B36PDV: Ale ne všechny
ZÁ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 každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2
Euklidův algoritmus Doprovodný materiál pro cvičení Programování I. NPRM044 Autor: Markéta Popelová Datum: 31.10.2010 Euklidův algoritmus verze 1.0 Zadání: Určete největšího společného dělitele dvou zadaných
Algoritmizace- úvod. Ing. Tomáš Otáhal
Algoritmizace- úvod Ing. Tomáš táhal Historie 9. století perský matematik a astronom Mohammed Al-Chorezím v latinském přepise příjmení= algoritmus Nejstarší algoritmus Euklides řecký matematik, 4. století
Práce v textovém editoru
Práce v textovém editoru 0) Otevřete NOTEPAD a okopírujte celý tento článek do NOTEPADu. [Můžete použít zkratky Ctrl-A (označit vše) Ctrl+C(kopírovat), Ctrl+V (vložit)] 1) Najděte v tomto textu slovo "myš"
1 0 0 u 22 u 23 l 31. l u11
LU dekompozice Jedná se o rozklad matice A na dvě trojúhelníkové matice L a U, A=LU. Matice L je dolní trojúhelníková s jedničkami na diagonále a matice U je horní trojúhelníková. a a2 a3 a 2 a 22 a 23
VÝVOJ ŘÍDICÍCH ALGORITMŮ HYDRAULICKÝCH POHONŮ S VYUŽITÍM SIGNÁLOVÉHO PROCESORU DSPACE
VÝVOJ ŘÍDICÍCH ALGORITMŮ HYDRAULICKÝCH POHONŮ S VYUŽITÍM SIGNÁLOVÉHO PROCESORU DSPACE Přednáška na semináři CAHP v Praze 4.9.2013 Prof. Ing. Petr Noskievič, CSc. Ing. Miroslav Mahdal, Ph.D. Katedra automatizační
Matematika 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?
Martin Hejtmánek hejtmmar@fjfi.cvut.cz http://kmlinux.fjfi.cvut.cz/ hejtmmar
Základy programování Martin Hejtmánek hejtmmar@fjfi.cvut.cz http://kmlinux.fjfi.cvut.cz/ hejtmmar Počítačový kurs Univerzity třetího věku na FJFI ČVUT Pokročilý 21. května 2009 Dnešní přednáška 1 Počátky
1. Zpracování událostí na pozadí aplikace
1. Zpracování událostí na pozadí aplikace Ing. Michal Bližňák, Ph.D. Ústav informatiky a umělé inteligence Fakulta aplikované informatiky UTB Zĺın Paralelní procesy a programování, Zĺın, 3. února 2014
Charakteristika 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
INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE
Název školy: Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, 360 09 Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: VY_32_INOVACE_13_HARDWARE_S1 Číslo projektu: CZ 1.07/1.5.00/34.1077
Integrovaná střední škola, Sokolnice 496
Integrovaná střední škola, Sokolnice 496 Název projektu: Moderní škola Registrační číslo: CZ.1.07/1.5.00/34.0467 Název klíčové aktivity: III/2 - Inovace a zkvalitnění výuky prostřednictvím ICT Kód výstupu:
C2115 Praktický úvod do superpočítání
C2115 Praktický úvod do superpočítání IX. lekce Petr Kulhánek, Tomáš Bouchal kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta, Masarykova univerzita, Kotlářská 2, CZ-61137
MetaCentrum. Martin Kuba CESNET
MetaCentrum Martin Kuba CESNET Vývoj MetaCentra MetaCentrum bylo založeno v roce 1996 jako superpočítačové meta-centrum spojením tří superpočítačových center Superpočítačové Centrum Brno, Masarykova univerzita
Čas a kauzalita v DS
PDV 09 2017/2018 Čas a kauzalita v DS Michal Jakob michal.jakob@fel.cvut.cz Centrum umělé inteligence, katedra počítačů, FEL ČVUT Příklad: Letecký rezervační systém 1. Server A obdrží klientský požadavek
Datová věda (Data Science) akademický navazující magisterský program
Datová věda () akademický navazující magisterský program Reaguje na potřebu, kterou vyvolala rychle rostoucí produkce komplexních, obvykle rozsáhlých dat ve vědě, v průmyslu a obecně v hospodářských činnostech.
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ DOKTORSKÁ DISERTAČNÍ PRÁCE
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ DOKTORSKÁ DISERTAČNÍ PRÁCE srpen 1996 Ing. Petr Hanáček VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Model pro vyjádření synchronizačních a komunikačních mechanismů DOKTORSKÁ DISERTAČNÍ
Kombinatorika, výpočty
Kombinatorika, výpočty Radek Pelánek IV122 Styl jednoduché výpočty s čísly vesměs spíše opakování + pár dílčích zajímavostí užitečný trénink programování Kombinace, permutace, variace Daná množina M s
Historie výpočetní techniky. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1121_Histrorie výpočetní techniky_pwp
Historie výpočetní techniky Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1121_Histrorie výpočetní techniky_pwp Název školy: Číslo a název projektu: Číslo a název šablony klíčové aktivity:
Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky
Vyučovací hodina 1vyučovací hodina: Opakování z minulé hodiny Nová látka Procvičení nové látky Shrnutí 5 min 20 min 15 min 5 min 2vyučovací hodiny: Opakování z minulé hodiny Nová látka Procvičení nové
Pokroč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í
Třída PTIME a třída NPTIME. NP-úplnost.
VAS - Přednáška 9 Úvod ke kursu. Složitost algoritmu. Model RAM. Odhady složitosti. Metoda rozděl a panuj. Greedy algoritmy. Metoda dynamického programování. Problémy, třídy složitosti problémů, horní
Transformace digitalizovaného obrazu
Transformace digitalizovaného obrazu KIV/PPR Martina Málková (tina.malkova@centrum.cz) *15.10.1984 1 Zadání Realizujte transformaci digitalizovaného obrazu zadaného jako matice (m,n) s celočíselnými prvky.
Management procesu I Mgr. Josef Horálek
Management procesu I Mgr. Josef Horálek Procesy = Starší počítače umožňovaly spouštět pouze jeden program. Tento program plně využíval OS i všechny systémové zdroje. Současné počítače umožňují běh více
Jan 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
PRINCIPY POČÍTAČŮ Metodický list číslo 1
Metodický list číslo 1 Téma č.1: Historie, vývoj počítačů, architektura počítače. historický přehled, předpoklady pro vývin a rozvoj počítačů nejvýznamnější osoby, vynálezy a stroje von Neumannova architektura
Cvičení 9 - Monitory. monitor m; var proměnné... procedure p; begin... end; begin inicializace; end;
Cvičení 9 - Monitory na rozdíl od semaforů je monitor jazyková konstrukce monitor = Pascalský blok podobný proceduře nebo fci uvnitř monitoru jsou definovány proměnné, procedury a fce proměnné monitoru
Paralení 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