Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

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

Podobné prezentace


Prezentace na téma: "Vědecké výpočty v Jave."— Transkript prezentace:

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

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

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

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

5 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

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

7 Knihovny Colt Apache Commons Math ND4J EJML jblas MTJ ojAlgo

8 Porovnání – Pure Java

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

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

11 Porovnání

12 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ší

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

14 Apache Commons Math Operace s komplexními čísly, maticemi, vektory, atd. Knihovna je vhodná pro menší množství dat math/

15 ojAlgo Nejrychlejší pure Java knihovna zaměřená na matematiku, lineární algebru a optimalizaci, nezávislá na jiných knihovnách

16 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

17 ND4J Podpora CUDA GPU Sesterská knihovna ND4S (Scala) syntakticky napodobuje populární Python knihovnu Numpy

18 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

19 Odkazy Benchmarks - Benchmark/ &type=pdf&doi=


Stáhnout ppt "Vědecké výpočty v Jave."

Podobné prezentace


Reklamy Google