C2115 Praktický úvod do superpočítání 12. lekce / Modul 2 -1- C2115 Praktický úvod do superpočítání Petr Kulhánek kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta, Masarykova univerzita, Kotlářská 2, CZ-61137 Brno XII. lekce / Modul 2 Revize 1 C2115 Praktický úvod do superpočítání 12. lekce / Modul 2 -2Od problému k výsledku C2115 Praktický úvod do superpočítání 12. lekce / Modul 2 -3Od problému k výsledku ... Problém Výsledek C2115 Praktický úvod do superpočítání 12. lekce / Modul 2 -4Od problému k výsledku ... Problém Výsledek algoritmus zdrojový kód program výpočet C2115 Praktický úvod do superpočítání 12. lekce / Modul 2 -5Od problému k výsledku ... Problém Výsledek algoritmus zdrojový kód program výpočet vývojové diagramy volba jazyka, ruční optimalizace kompilace strojová optimalizace alokace a efektivní využití zdrojů C2115 Praktický úvod do superpočítání 12. lekce / Modul 2 -6Od problému k výsledku ... Problém Výsledek algoritmus zdrojový kód program výpočet vývojové diagramy volba jazyka, ruční optimalizace kompilace strojová optimalizace alokace a efektivní využití zdrojů hardware C2115 Praktický úvod do superpočítání 12. lekce / Modul 2 -7Od problému k výsledku ... algoritmus zdrojový kód program výpočet vývojové diagramy volba jazyka, ruční optimalizace kompilace strojová optimalizace alokace a efektivní využití zdrojů hardware Při řešení problémů za použití výpočetní techniky (superpočítačů) je nutné komplexně zhodnotit celou řadu aspektů, které zahrnují i použitý hardware a jeho architekturu. C2115 Praktický úvod do superpočítání 12. lekce / Modul 2 -8Probírané okruhy ... algoritmus zdrojový kód program výpočet hardware Při řešení problémů za použití výpočetní techniky (superpočítačů) je nutné komplexně zhodnotit celou řadu aspektů, které zahrnují i použitý hardware a jeho architekturu. základní problémy s vytvářením aplikací pro náročné výpočty, paralelizace C2115 Praktický úvod do superpočítání 12. lekce / Modul 2 -9Probírané okruhy ... algoritmus zdrojový kód program výpočet hardware Při řešení problémů za použití výpočetní techniky (superpočítačů) je nutné komplexně zhodnotit celou řadu aspektů, které zahrnují i použitý hardware a jeho architekturu. efektivní spouštění aplikací z oblasti výpočetní chemie (MetaCentrum, malé klastry) C2115 Praktický úvod do superpočítání 12. lekce / Modul 2 -10- C2115 Praktický úvod do superpočítání Petr Kulhánek kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta, Masarykova univerzita, Kotlářská 2, CZ-61137 Brno 12. lekce / Modul 2 Revize 2 C2115 Praktický úvod do superpočítání 12. lekce / Modul 2 -11- Numerická integrace C2115 Praktický úvod do superpočítání 12. lekce / Modul 2 -12Cvičení LIII.3 1. Napište program, který vypočte určitý integrál uvedený níže. K integraci použijte lichoběžníkovou metodu. dx x I  + = 1 0 2 1 4 určitý integrál je plocha pod křivkou v rozsahu integračních mezí C2115 Praktický úvod do superpočítání 12. lekce / Modul 2 -13Lichoběžníková vs obdélníková metoda lichoběžníková metoda obdélníková metoda yi yi yi+1 h h h yy I ii i 2 )( 1++ = hyI ii = numericky přesnější metoda numericky méně přesná metoda snadnější implementace a paralelizace C2115 Praktický úvod do superpočítání 12. lekce / Modul 2 -14Sekvenční implementace program integral implicit none integer(8) :: i integer(8) :: n double precision :: rl,rr,h,v,y,x !--------------------------------------------------- rl= 0.0d0 rr= 1.0d0 n = 2000000000 h = (rr-rl)/n v = 0.0d0 do i=1,n x = (i-0.5d0)*h + rl y = 4.0d0 / (1.0d0 + x**2) v = v + y*h end do write(*,*) 'integral = ',v end program integral obdélníková metoda dx x I  + = 1 0 2 1 4 C2115 Praktický úvod do superpočítání 12. lekce / Modul 2 -15Cvičení M3.1 1. Zkompilujte program integral.f90 s optimalizací -O3 2. Určete dobu běhu aplikace potřebnou pro integraci funkce. K měření doby použijte program /usr/bin/time. 3. Čemu se rovná hodnota integrálu? 4. Jaký vliv má hodnota proměnné „n” (tj. velikost h) na přesnost výpočtu? K posouzení použijte programy integral-errors_sp.f90 a integral-errors_dp.f90. Získané výsledky stručně diskutujte. Zdrojové kódy: /home/kulhanek/Documents/C2115/code/integral/single