multithread programming java vs. openmp
DESCRIPTION
Multithread programming Java vs. OpenMP. Pavel Zavoral Martin Kugler. Abstrakt. Porovnání možností vícevláknového programování JVM OpenMP Násobení matic Vytvoření jednotného rozhraní v Javě Jednoduché GUI. Vlákna v Javě. Součást standardní knihovny jazyka - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Multithread programming Java vs. OpenMP](https://reader036.vdocuments.net/reader036/viewer/2022082505/56812c02550346895d907357/html5/thumbnails/1.jpg)
Multithread programmingJava vs. OpenMP
Pavel Zavoral
Martin Kugler
![Page 2: Multithread programming Java vs. OpenMP](https://reader036.vdocuments.net/reader036/viewer/2022082505/56812c02550346895d907357/html5/thumbnails/2.jpg)
Abstrakt
Porovnání možností vícevláknového programováníJVMOpenMP
Násobení matic Vytvoření jednotného rozhraní v Javě Jednoduché GUI
![Page 3: Multithread programming Java vs. OpenMP](https://reader036.vdocuments.net/reader036/viewer/2022082505/56812c02550346895d907357/html5/thumbnails/3.jpg)
Vlákna v Javě
Součást standardní knihovny jazyka Implementace v JVM (nezávislá na OS) Explicitní vytváření vláken
a synchronizace
![Page 4: Multithread programming Java vs. OpenMP](https://reader036.vdocuments.net/reader036/viewer/2022082505/56812c02550346895d907357/html5/thumbnails/4.jpg)
OpenMP
Knihovna pro C/C++ a Fortran=> Java Native Interface
JOMP – pokus o implementaci v Javě Vícevláknové programování se sdílenou
pamětí pro matematické výpočty Direktivy preprocesoru pro určení
paralelních sekcí kódu
![Page 5: Multithread programming Java vs. OpenMP](https://reader036.vdocuments.net/reader036/viewer/2022082505/56812c02550346895d907357/html5/thumbnails/5.jpg)
Fork-Join model
Střídání sekvenčních a paralelních částí Automatické vytváření vláken a synchronizace
![Page 6: Multithread programming Java vs. OpenMP](https://reader036.vdocuments.net/reader036/viewer/2022082505/56812c02550346895d907357/html5/thumbnails/6.jpg)
Use cases
![Page 7: Multithread programming Java vs. OpenMP](https://reader036.vdocuments.net/reader036/viewer/2022082505/56812c02550346895d907357/html5/thumbnails/7.jpg)
Scénář
Načíst obě matice (uživatel) Zadat metodu výpočtu (uživatel) Spustit počítání (uživatel) Spočítat součin zadanou metodou (aplikace) Zobrazit dobu výpočtu (aplikace) Uložit výsledek (uživatel)
![Page 8: Multithread programming Java vs. OpenMP](https://reader036.vdocuments.net/reader036/viewer/2022082505/56812c02550346895d907357/html5/thumbnails/8.jpg)
Funkční požadavky
Spočítání součinu vybranou metodou Generování náhodné matice Měření doby výpočtu
![Page 9: Multithread programming Java vs. OpenMP](https://reader036.vdocuments.net/reader036/viewer/2022082505/56812c02550346895d907357/html5/thumbnails/9.jpg)
Nefunkční požadavky
Jednotné API v Javě Jednoduché GUI
![Page 10: Multithread programming Java vs. OpenMP](https://reader036.vdocuments.net/reader036/viewer/2022082505/56812c02550346895d907357/html5/thumbnails/10.jpg)
Diagram nasazení