Cvičení MI-PRC I. Šimeček

Podobné dokumenty
NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Dynamické programování

Cvičení MI-PAP I. Šimeček, M. Skrbek, J. Trdlička

Knihovny pro CUDA J. Sloup a I. Šimeček

ALGORITMY A DATOVÉ STRUKTURY

Drsná matematika III 10. demonstrovaná cvičení Kostry grafů

Testování a spolehlivost. 4. Laboratoř Spolehlivostní modely 1

Paralelní grafové algoritmy

4. NP-úplné (NPC) a NP-těžké (NPH) problémy

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

Základy matematiky pro FEK

Úvod do softwarového inženýrství a týmového vývoje

Organizace předmětu, podmínky pro získání klasifikovaného zápočtu

Aplikovaná numerická matematika

ˇ razen ı rychlejˇ s ı neˇ z kvadratick e Karel Hor ak, Petr Ryˇsav y 20. dubna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT

NEJKRATŠÍ CESTY I. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Systematická tvorba jízdního řádu 2. cvičení

Aplikovaná numerická matematika - ANM

Cílem seminární práce je aplikace teoretických znalostí z přednášky na konkrétní úlohy. Podstatu algoritmu totiž

2. RBF neuronové sítě

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

12PPOK PROJEKTOVÁNÍ POZEMNÍCH KOMUNIKACÍ

VYUŽITÍ MATLABU PRO VÝUKU NUMERICKÉ MATEMATIKY Josef Daněk Centrum aplikované matematiky, Západočeská univerzita v Plzni. Abstrakt

Numerické metody a programování

Základy programování (IZP)

Teorie grafů. Teoretická informatika Tomáš Foltýnek

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2015

Vzorce počítačové grafiky

VLASTNOSTI GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze. BI-GRA, LS 2010/2011, Lekce 5

Algoritmizace prostorových úloh

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice

13. Lineární programování

IB111 Úvod do programování skrze Python

Matematika. ochrana životního prostředí analytická chemie chemická technologie Forma vzdělávání:

Soustavy linea rnı ch rovnic

TEORIE GRAFŮ TEORIE GRAFŮ 1

Konvexní obálka v E 3 a dělení prostoru

Vypracovat přehled paralelních kinematických struktur. Vytvořit model a provést analýzu zvolené PKS

Problémy třídy Pa N P, převody problémů

Příklady ke cvičením. Modelování produkčních a logistických systémů

Úvod do teorie grafů

Diskrétní matematika. DiM /01, zimní semestr 2017/2018

Numerické metody a programování. Lekce 4

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

Static Load Balancing Applied to Time Dependent Mechanical Problems

SUPERPOČÍTAČE DANIEL LANGR ČVUT FIT / VZLÚ

Přijímací zkouška - matematika

TOKY V SÍTÍCH II. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Náplň. v Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění

Projekt IMPLEMENTACE ŠVP. pořadí početních operací, dělitelnost, společný dělitel a násobek, základní početní operace

C2142 Návrh algoritmů pro přírodovědce

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

PROHLEDÁVÁNÍ GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

1 Soustavy lineárních rovnic

Vektorový prostor. Př.1. R 2 ; R 3 ; R n Dvě operace v R n : u + v = (u 1 + v 1,...u n + v n ), V (E 3 )...množina vektorů v E 3,

ALGEBRA. Téma 5: Vektorové prostory

Paralelní programování

Algoritmus pro hledání nejkratší cesty orientovaným grafem

Paralelní programování

Grafové algoritmy. Programovací techniky

Vzdálenost uzlů v neorientovaném grafu

Aplikace metody BDDC

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Obecný princip 3D numerického modelování výrubu

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová

Cvičení z Lineární algebry 1

ALGORITMIZACE A PROGRAMOVÁNÍ

Digitální učební materiál

Dokumentace k semestrální práci z předmětu PT

Graf. Uzly Lokality, servery Osoby fyzické i právní Informatické objekty... atd. Hrany Cesty, propojení Vztahy Informatické závislosti... atd.

Ing. Jitka Řezníčková, CSc., Ing. Jan Šleichrt, Ing. Jan Vyčichl, Ph.D.

Algoritmy výpočetní geometrie

Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2.

Zadání semestrálního projektu Algoritmy II. letní semestr 2017/2018

Arnoldiho a Lanczosova metoda

Státnice odborné č. 20

Matematika B101MA1, B101MA2

Algoritmizace prostorových úloh

MATEMATIKA I. Marcela Rabasová

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).

Základní rutiny pro numerickou lineární algebru. I. Šimeček, M. Šoch

Základní pojmy teorie množin Vektorové prostory

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od jara 2017

B) výchovné a vzdělávací strategie jsou totožné se strategiemi vyučovacího předmětu Matematika.

TGH12 - Problém za milion dolarů

MATEMATIKA ZÁKLADNÍ ÚROVEŇ

3 Lineární kombinace vektorů. Lineární závislost a nezávislost

ÚSTAV MATEMATIKY A DESKRIPTIVNÍ GEOMETRIE. Matematika 0A1. Cvičení, zimní semestr. Samostatné výstupy. Jan Šafařík

0.1 Úvod do lineární algebry

Voronoiův diagram. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta

Název předmětu: Školní rok: Forma studia: Studijní obory: Ročník: Semestr: Typ předmětu: Rozsah a zakončení předmětu:

bfs, dfs, fronta, zásobník, prioritní fronta, halda

IB112 Základy matematiky

4EK311 Operační výzkum. 1. Úvod do operačního výzkumu

Diskrétní matematika. DiM /01, zimní semestr 2018/2019

Semestrální práce Mozaika aneb Co všechno umí pan Voronoi

bfs, dfs, fronta, zásobník, prioritní fronta, halda

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

Transkript:

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 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

Laboratoře [MI-PRC Programování v CUDA] http://edux.fit.cvut.cz/courses/mi-prc/labs/start#laboratore of 1 310.2011 3:39 Indexmenu sort number: 7000 Laboratoře Týden Datum Téma Slajdy 1 Seznámení s prostředím, zadání semestrálních prací Zadání semestrálních prací 2 Odevzdání sekvenční implementace, 3 Kompilace CUDA kódu, zapojení CUDA knihoven 4 Práce s nástroji pro ladění kódu a profilační nástroje, 5 konzultace ke CUDA implementaci 6 odevzdaní CUDA implementace, zápočet Osnova laboratorních cvičení a důležité pokyny a odkazy Zadání Pokyny k implementaci Implementace sekvenčního algoritmu Implementace algoritmu pro grafickou kartu Kompilace a spouštění úloh v CUDA API na GPU serverech Debugery a profilery Výpočetní prostředky Požadovaný obsah technických zpráv Témata (nepovinných) odborných referátů /mnt/www/courses/mi-prc/data/pages/labs/start.txt Poslední úprava: 2011/10/30 20:41 autor: xsimecek

adání semestrálních prací [MI-PRC Programování v CUDA] of 4 310.2011 3:40 Zadání semestrálních prací Pravidla: Vybrané téma si tým rezervuje na prvním cvičení nebo mu bude přiděleno. Po domluvě s garantem je možno vypsat i vlastní téma studenta (i pro vícečlenný tým) Po domluvě je možno v zadání pokračovat v rámci BP/DP Pokud potřebujete použijte generátor grafu s příslušným typem grafu. Úlohy pro jednotlivce 4. 5. 6. 7. 8. 9. Hledání nejbližších bodů Maximální nezávislá množina Optimalizační problém baťohu Minimální hranový řez Obchodní cestující Izomorfismus grafů Vrcholové obarvení grafu In-place merge sort 3-SAT Úlohy pro dvojice 4. 5. 6. 7. Řadící algoritmy Operace s řídkými maticemi Řešení soustav lineárních rovnic Násobení matic Převod řídkých matic Hledání nejkratších cest v grafu Zobecněný hranový řez Úlohy pro jednotlivce Hledání nejbližších bodů Úkolem je paralelně najít minimální Euklidovskou vzdálenost všech bodů v množině n náhodně vygenerovaných bodů 2-rozměrné roviny v oblasti tvořené obdélníkem R={(x,y), 0 px[i] kx, 0 y ky}. Idea řešení: Obdélník R virtuálně rozdělíme na počet_vláken stejně širokých (nebo vysokých) pásů. Každé vlákno bude obsluhovat jeden pás. Nejprve si načte body patřící do jeho pásu. Pak provede hledání nejbližšího bodu v rámci svého pásu (lokální výpočet). Dále určí body, které mohou mít svého nejbližšího souseda v jiném (sousedním) pásu, protože jsou hranici pásu blíže než dosud nalezené řešení. Tyto body jsou zapsány do sdílených polí sousedních vláken. Vlákna na základě informací od sousedních vláken dokončí výpočet (globální) a zapíše svou část řešení do pole výsledků. Úkol: experimenty s více pásy pro jedno vlákno, místo pásu čtvercovou oblast apod.

Zadání semestrálních prací [MI-PRC Programování v CUDA] 2 of 4 310.2011 3:40 Maximální nezávislá množina Viz http://cs.wikipedia.org/wiki/nez%c3%a1visl%c3%a1_mno%c5%beina [http://cs.wikipedia.org /wiki/nez%c3%a1visl%c3%a1_mno%c5%beina] Optimalizační problém baťohu http://cs.wikipedia.org/wiki/probl%c3%a9m_batohu [http://cs.wikipedia.org/wiki/probl %C3%A9m_batohu] Minimální hranový řez Nalezněte minimální hranový řez grafu, tj. nalezněte rozdělení množiny uzlů V do dvou disjunktních neprázdných podmnožin X a Y tak, že součet ohodnocení všech hran {u,v} takových, že u je z X a v je z Y, je minimální. Obchodní cestující Úkolem je konstrukce Hamiltonovské cesty (tj. cesty procházející všemi body a každým právě jednou) V Euklidovském grafu s minimální geometrickou délkou. Izomorfismus grafů http://cs.wikipedia.org/wiki/izomorfismus [http://cs.wikipedia.org/wiki/izomorfismus] Vrcholové obarvení grafu http://cs.wikipedia.org/wiki/barven%c3%ad_grafu [http://cs.wikipedia.org/wiki/barven%c3%ad_grafu] In-place merge sort Řazení celočíslených polí pomocí této metody: http://thomas.baudel.name/visualisation/visutri/inplacestablesort.html [http://thomas.baudel.name /Visualisation/VisuTri/inplacestablesort.html] http://stackoverflow.com/questions/2571049/how-to-sort-in-place-using-the-merge-sort-algorithm [http://stackoverflow.com/questions/2571049/how-to-sort-in-place-using-the-merge-sort-algorithm] 3-SAT

Zadání semestrálních prací [MI-PRC Programování v CUDA] 3 of 4 310.2011 3:40 Implementujte problém 3-SAT, viz http://en.wikipedia.org/wiki/boolean_satisfiability_problem [http://en.wikipedia.org /wiki/boolean_satisfiability_problem] Úlohy pro dvojice Řadící algoritmy Řazení celočíslených polí pomocí těchto metod: triviální: (Bubble, Selection, Insertionsort, chytřejší: Merge, Quick, Heap Speciální: Radix, Shell Úkol: Změřit různé kombinace metod, s různou distribucí počátečních dat Operace s řídkými maticemi Implementujte operace násobení řídké matice vektorem a násobení dvou řídkých matic v formátech vhodných pro uložení řídkých matic(minimálně CSR) viz http://en.wikipedia.org/wiki/sparse_matrix [http://en.wikipedia.org/wiki/sparse_matrix] Úkol: Změřit pro různě řídké vstupní matice Řešení soustav lineárních rovnic Implementujte minimálně tyto metody řešení soustav lineárních rovnic: Gaussova eliminace LU rozklad viz http://en.wikipedia.org/wiki/lu_decomposition [http://en.wikipedia.org /wiki/lu_decomposition] Choleskyho metoda viz http://en.wikipedia.org/wiki/cholesky_decomposition [http://en.wikipedia.org/wiki/cholesky_decomposition] Úkol: Porovnat verze optimalizované pomocí loop-blocking a recursivně Násobení matic Implementujte minimálně tyto metody násobení matic: klasický Strassenův algoritmus http://en.wikipedia.org/wiki/strassen_algorithm [http://en.wikipedia.org /wiki/strassen_algorithm] Úkol: Porovnat verze klasického násobení optimalizované pomocí loop-blocking a recursivně se Strassenův algoritmus Převod řídkých matic

adání semestrálních prací [MI-PRC Programování v CUDA] of 4 310.2011 3:40 Seznamte se s myšlenkami převodu řídkých matic na jiné formáty v: http://shimi.webzdarma.cz/vyzkum/ppam05/ppam05.html [http://shimi.webzdarma.cz/vyzkum/ppam05 /ppam05.html] http://shimi.webzdarma.cz/vyzkum/ppam07/ppam07.html [http://shimi.webzdarma.cz/vyzkum/ppam07 /ppam07.html] Úkol: Implementujte algoritmus, který efektivně převádí řídké matice do požadovaného formátu Hledání nejkratších cest v grafu Implementujte minimálně tyto algoritmy hledání nejkratších cest v grafu: Dijkstra Floydův-Warshallův algoritmus http://en.wikipedia.org/wiki/dijkstra%27s_algorithm [http://en.wikipedia.org/wiki/dijkstra%27s_algorithm] Úkol: Implementujte tyto algoritmy, aby byly efektivní i pro řídké grafy Zobecněný hranový řez Nalezněte zobecněný hranový řez grafu, tj. nalezněte rozdělení množiny uzlů V do n disjunktních neprázdných podmnožin X_i tak, že součet ohodnocení všech hran {u,v} takových, že u je z X_i a v je z X_j, je minimální a dále velikosti podmnožin X_i jsou shodné nebo podobné. /mnt/www/courses/mi-prc/data/pages/zadani.txt Poslední úprava: 2011/10/30 20:16 autor: xsimecek

áplň laboratorních cvičení [MI-PRC Programování v CUDA] http://edux.fit.cvut.cz/courses/mi-prc/osnova 1 of 1 310.2011 3:40 Náplň laboratorních cvičení Cílem laboratorních cvičení je naučit studenty pracovat s technologiemi pro efektivní a paralelní implementaci problému na grafických kartách. Tým složený z několika studentů bude mít za úkol: (nepovinně) vypracovat odborný referát realizovat semestrální úlohu, spočívající v návrhu, implementaci a analýze paralelního algoritmu pro řešení zadaného problému na grafické kartě. Algoritmus bude implementován v C/C++ v CUDA API. Své téma si tým vybere z nabídky připravené pro daný semestr. Úlohy jsou rozlišeny podle obtížnosti a podle toho jsou určeny velikosti týmů. V rámci jednoho cvičení je každé téma zadáno nejvýše jednomu týmu. Tým studentů má možnost před nebo během prvního cvičení navrhnout cvičícímu vlastní téma úlohy. Cvičící pak po konzultaci s garantem předmětu úlohu může upravit, doplnit, schválit nebo neakceptovat. Realizace jednoho algoritmu bude rozdělena do následujících etap: 4. Návrh a implementace sekvenčního (neoptimalizovaného) algoritmu. Návrh a implementace paralelního algoritmu. Měření časové složitosti paralelního programu. Vypracování zprávy. Jednotlivé etapy řešení budou v závěrečné zprávě zkontrolovány a obodovány. * Etika práce na semestrální úloze * Cílem laboratorních cvičení je naučit studenty na vlastním projektu dovednostem efektivního a paralelního programování Proto je v souladu se Studijním a zkušebním řádem ČVUT nezbytností, aby každý tým studentů pracovala na semestrální úloze samostatně. Dělba práce uvnitř týmu je její zodpovědností, ale každý člen týmu by měl vědět o důležitých rysech řešení. Případné problémy či nejasnosti řeší konzultací s cvičícím v rámci rozvrhovaných hodin na cvičení, případně formou individuálních konzultací v rámci konzultačních hodin cvičícího. Pokud se prokáže, že tým studentů neřešil semestrální úlohu samostatně a předložil jiné než vlastní řešení (zdrojové programy, naměřené výsledky, výslednou zprávu), potom daný tým: bude mít adekvátní (či všechny) body anulovány, nebude připuštěn k písemné zkoušce, po dohodě s přednášejícím budou buď moci příští rok předmět MI-PRC absolvovat znova od nuly nebo bude jejich jednání postoupeno jako přestupek disciplinární komisi FIT. /mnt/www/courses/mi-prc/data/pages/osnova.txt Poslední úprava: 2011/10/30 20:28 autor: xsimecek