Vědecké výpočty v Jave.

Slides:



Advertisements
Podobné prezentace
VIZUALIZACE V MATLABU Štěpánka Velebová
Advertisements

Paralelní výpočet SVD s aplikacemi pro vyhledávání informací
VÝVOJ PROGRAMOVACÍCH JAZYKŮ PERSPEKTIVY ELEKTRONIKY 3. Celostátní seminář, 18. března 2003 Ing. Pavel Pokorný UNIVERZITA TOMÁŠE BATI VE ZLÍNĚ Fakulta technologická.
EGEE is a project funded by the European Union under contract IST Využití EGEE infrastruktury pro zpracování dat ve fyzice vysokých energií.
HYPERTEXT PREPROCESSOR. PROGRAMOVÁNÍ. DEFINICE POJMŮ Problém Problém nevyřešený, nežádoucí stav obvykle vyžaduje nějaké řešení Neřešitelný problém Neřešitelný.
Typy programů operační systémy programy pro práci se soubory
Vestavný modul pro počítačové vidění využívající hradlové pole Diplomová práce, Bc. Jan Šváb ČVUT Praha, Fakulta Elektrotechnická.
Softwarový systém DYNAST
Aplikační počítačové prostředky X15APP MATLAB - SIMULINK
Koncepce rozvoje a řízení vědy a výzkumu
Lekce 1 Modelování a simulace
Principy překladačů Mezikód Jakub Yaghob.
Úvod. Základní úrovně: hardwarová (procesory, jádra) programová (procesy, vlákna) algoritmická (uf... ) Motivace: zvýšení výkonu redundance jiné cíle,
PROGRAMOVACÍ JAZYKY (c) Tralvex Yeap. All Rights Reserved.
Mgr. Marek Pavlů Katedra Experimentální Fyziky 1 Modelování a simulace, Mgr. Marek Pavlů.
Mnohatělesové simulace a jejich využití při studiu výpočetní fyziky Srní, dubna, 2005 Moderní trendy v přípravě učitelů fyziky II Jakub Schwarzmeier.
HUMUSOFT s.r.o. Mathematical and Computer Modelling in Science, Engineering and Finance Moderní nástroje pro finanční analýzu a modelování Odborný seminář.
Tvorba webových aplikací
Apache, PHP, MySQL Lukáš Masopust Web server Apache Aplikace schopná zpracovat HTTP požadavek Nejpoužívanější Web server Vytváří ho The Apache.
KONCEPTUÁLNÍ MODELOVÁNÍ
EGEE is a project funded by the European Union under contract IST Gridy a související aktivity v CR Jiří Kosina Seminář projektu EGEE,
Základy algoritmizace a programování
CZ.1.07/1.4.00/ VY_32_INOVACE_139_IT7 Výukový materiál zpracovaný v rámci projektu Vzdělávací oblast: Informační a komunikační technologie Předmět:Informatika.
PHP – Základy programování
Motivační úvod do Matlabu
C# - Úvod Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
Modelování a simulace MAS_02
Simulační modely a programové vybavení. Vývoj simulačních programů  Původně pouze strojový kód –Příliš dlouhé, náročné na programátora, obtížné hledání.
Procesory.
Úvod do JavaScriptu JavaScript je p JavaScript je programovací jazyk, který se používá na webových stránkách. JavaScript je typu KLIENT - KLIENT To znamená,
EGEE is a project funded by the European Union under contract IST Gridové projekty LCG a D0 v ČR Jiří Kosina Fyzikální ústav AV ČR Seminář.
DIGITÁLNÍ UČEBNÍ MATERIÁL Číslo projektuCZ.1.07/1.5.00/ Název projektuEU peníze středním školám Masarykova OA Jičín Název školyMASARYKOVA OBCHODNÍ.
Autoři: Martin Dlouhý a Martina Kuncová
Vytváření a realizace algoritmů Algoritmy a datové struktury
Databázové modelování
Karel Vlček, Modelování a simulace Karel Vlček,
Akcelerace genetických algoritmů na grafických kartách 4. část Mikuláš Dítě Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti.
Úvod Co je to fyzika? Čím se tato věda zabývá?.
Řešení soustav lin. rovnic
B i o c y b e r n e t i c s G r o u p Nový obor - počítače v medicíně a biologii  Proč je management informací ústřední otázkou v biomedicínském výzkumu.
14. června 2004Michal Ševčenko Architektura softwarového systému DYNAST Michal Ševčenko VIC ČVUT.
Název školyStřední odborná škola a Gymnázium Staré Město Číslo projektuCZ.1.07/1.5.00/ AutorIng. Ivana Brhelová Název šablonyIII/2.
SBÍRKA PŘÍKLADŮ Z MATEMATIKY
PHP Programy pro tvorbu WWW stránek - 01
GPGPU Výpočty pomocí grafických procesorů Zpracoval Martin Přeták.
Web services. Co jsou webservices Součinná spolupráce počítačů v síti Technologie pro vzdálené volání procedur (RPC) Nezávislá na platformě Data v XML.
Akcelerace genetických algoritmů na grafických kartách 5. část Mikuláš Dítě.
IB111 Programování a algoritmizace
Matematické modelování toku neutronů v jaderném reaktoru SNM 2, LS 2009 Tomáš Berka, Marek Brandner, Milan Hanuš, Roman Kužel, Aleš Matas.
Geoinformatika úvod.
Vícerozměrné statistické metody Vícerozměrné statistické rozdělení a testy, operace s vektory a maticemi Jiří Jarkovský, Simona Littnerová.
Geografické informační systémy pojetí, definice, součásti
O. Štícha P. Jáč M.Zvěřina Týden vědy ČVUT.
Počítačové algebraické systémy a jejich aplikace ve fyzice Pavel Košťál, Gymnázium Voděradská Jana Zajíčková, Gymnázium F. Palackého Valašské Meziříčí.
Autor:Ing. Pavel Brož Předmět/vzdělávací oblast:Informační a komunikační technologie Tematická oblast:Práce se standardním aplikačním programovým vybavením.
Překladače 1. Překladače a programovací jazyky © Milan Keršlágerhttp:// Obsah:
PROGRAMOVÁNÍ 3ITA,3ITB Jaroslav Burdys Hlavní zdroj:
AS/400 (IBM iSeries) Úvod. Co vlastně je AS/400 (IBM i)? Aplikační systém 400 (AS/400) byl navržen jako počítač obecně použitelný v obchodním prostředí.
Numerika. Modul scipy V problémech (nejen) mechaniky se setkáváme s nutností řešit numericky například integrály, diferenciální rovnice či nejrůznější.
.NET framework platforma Jiří Pokorný
Vývojová prostředí Objektově Orientované Programování OB21-OP-EL-KON-DOL-M Orbis pictus 21. století.
Počítače a programování 2
Moduly.
Financováno z ESF a státního rozpočtu ČR.
Výukový materiál zpracován v rámci projektu
ALU Aritmeticko-logická jednotka
Geografické informační systémy
Vědní obory zabývající se informacemi
Počítačová grafika.
Transkript prezentace:

Vědecké výpočty v Jave

Vědecké výpočty – Definice Cílem je řešení problémů reálného světa Nutnost využití ICT – současné problémy jsou příliš složité/časově náročné Obvykle jde o výpočty v pohyblivé řádové čárce (floating point arithmetic) Většinou jsou prováděny na superpočítačích, distrubuovaných počítačových sítích (grid computing), nebo na samostatných počítačových platformách (cloud computing)

Vědecké výpočty – využití Využívá se v odvětvích, kde je třeba zpracovat velké množství dat, např.: Bioinformatika, výpočetní biologie Chemoinformatika, výpočetní chemie Výpočetní matematika, výpočetní statistika Výpočetní fyzika Finanční modelování, výpočetní ekonomie V CERNu se zpracovává okolo 1 petabytu dat denně

Technologie Pro vědecké výpočty se využívají různé programovací jazyky a technologie FORTRAN C/C++ Python MATLAB Mathematica R Scala

Proč Java Objektově orientovaný jazyk Garbage Collector Velké množství programátorů Portabilita Již neplatí, že programy v Javě jsou pomalé – ve vědeckých výpočtech obecně dosahují okolo 50%, v některých případech však i 90% rychlosti programů psaných ve Fortranu nebo C/C++ Podpora multithreadingu

Nevýhody Javy Nepodporuje komplexní čísla Nemožnost přetěžování operátorů -> často nevzhledná syntaxe Přes značné zrychlení nedosahuje výkonnosti programů napsaných ve Fortranu, C, atd.

Knihovny Colt Apache Commons Math ND4J EJML jblas MTJ ojAlgo

Porovnání – Pure Java

Porovnání – Java + nativní kód

Porovnání – Java + nativní kód

Porovnání

Colt Vyvinut v CERNu Podpora vícerozměrných polí, histogramů, simulace Monte Carlo a dalších Poslední verze vydána 9. září 2004, codebase byla integrována do knihovny Parallel Colt, která obsahuje kompletní funkcionalitu knihovny Colt a přidává podporu multithreadingu, specializované maticové datové struktury, netlib-java a další http://dst.lbl.gov/ACSSoftware/colt/index.html

jblas Knihovna založená na BLAS a LAPACK – v podstatě wrapper nad BLAS a LAPACK rutinami – programátor se nemusí zabývat volacími konvencemi Fortranu atd. http://jblas.org/

Apache Commons Math Operace s komplexními čísly, maticemi, vektory, atd. Knihovna je vhodná pro menší množství dat http://commons.apache.org/proper/commons- math/

ojAlgo Nejrychlejší pure Java knihovna zaměřená na matematiku, lineární algebru a optimalizaci, nezávislá na jiných knihovnách http://ojalgo.org/

Efficient Java Matrix Library (EJML) Knihovna zaměřená na vyrovnanou rychlost u malého i velkého množství dat 3 způsoby interakce: procedurální – obecně nejrychlejší, SimpleMatrix – objektový, Equations – symbolický rovnicový zápis připomínající MATLAB http://ejml.org/

ND4J Podpora CUDA GPU Sesterská knihovna ND4S (Scala) syntakticky napodobuje populární Python knihovnu Numpy http://nd4j.org/

MTJ Nejrychlejší knihovna pro vědecké výpočty – je založena BLAS a LAPACK Využívá netlib-java -> automaticky použije optimalizovaný nativní kód https://github.com/fommil/matrix-toolkits-java/

Odkazy Benchmarks - http://lessthanoptimal.github.io/Java-Matrix- Benchmark/ http://citeseerx.ist.psu.edu/viewdoc/download?rep=rep1 &type=pdf&doi=10.1.1.217.5795