C2115 Praktický úvod do superpočítání

Podobné dokumenty
PJC Cvičení #2. Číselné soustavy a binární reprezentace proměnných

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy

Základní principy zobrazení čísla Celá čísla s pevnou řádovou čárkou Zobrazení reálných čísel Aritmetika s binárními čísly

3 Jednoduché datové typy Interpretace čísel v paměti počítače Problémy s matematickými operacemi 5

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

Hardware - komponenty počítačů Von Neumannova koncepce počítače. Von Neumannova koncepce počítače

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

C2110 Operační systém UNIX a základy programování

Architektury počítačů

v aritmetické jednotce počíta

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Algoritmy a datové struktury

Číselné soustavy. Binární číselná soustava

Čísla a číselné soustavy.

PB002 Základy informačních technologií

Fz =a z + a z +...+a z +a z =

Čísla v plovoucířádovéčárce. INP 2008 FIT VUT v Brně

Pohled do nitra mikroprocesoru Josef Horálek

Mikroprocesorová technika (BMPT)

Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí.

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Profilová část maturitní zkoušky 2013/2014

Principy počítačů I Reprezentace dat

Architektura počítačů

2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

Profilová část maturitní zkoušky 2017/2018

Ing. Igor Kopetschke TUL, NTI

Jak do počítače. aneb. Co je vlastně uvnitř

35POS 2010 Počítačové systémy 1 Úvod, jazyk C Doc. Ing. Bayer Jiří, Csc. Ing. Pavel Píša

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

Programování v jazyce C pro chemiky (C2160) 12. Specifické problémy při vývoji vědeckého softwaru

Profilová část maturitní zkoušky 2014/2015

Počítač jako elektronické, Číslicové zařízení

Reprezentace dat v informačních systémech. Jaroslav Šmarda

Úvod do programování 7. hodina

UMÍ POČÍTAČE POČÍTAT?

Základní pojmy informačních technologií

Architektura počítače

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Datové typy a jejich reprezentace v počítači.

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

Informatika Datové formáty

1 Osobní počítač Obecně o počítačích Technické a programové vybavení... 4

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Profilová část maturitní zkoušky 2015/2016

Struktura a architektura počítačů (BI-SAP) 6

Informační a komunikační technologie

Architektury počítačů a procesorů

1. Chyby vstupních dat metody převedení úlohy na numerickou (řád použité metody) zaokrouhlovací reprezentace čísel v počítači

PRINCIPY POČÍTAČŮ. Schopnost logického uvažování a rešeršní práce v prostředí Internetu.

architektura mostů severní / jižní most (angl. north / south bridge) 1. Čipové sady s architekturou severního / jižního mostu

C2115 Praktický úvod do superpočítání

Z{kladní struktura počítače

Hardware. Příklad převodu čísla: =1*32+0*16+0*8+1*4+0*2+1*1= Převod z dvojkové na desítkovou Sčítání ve dvojkové soustavě

Úvod SISD. Sekvenční výpočty SIMD MIMD

Identifikátor materiálu: ICT-1-08

Úvod do problematiky návrhu počítačových systémů. INP 2008 FIT VUT v Brně

Čísla v počítači Výpočetní technika I

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

Paměť počítače. alg2 1

Základní deska (1) Označována také jako mainboard, motherboard. Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje:

Číselné soustavy. Ve světě počítačů se využívají tři základní soustavy:

První počítače mechanické kalkulátory Nejstarší počítač: Abakus

Maturitní témata. IKT, školní rok 2017/18. 1 Struktura osobního počítače. 2 Operační systém. 3 Uživatelský software.

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

E. Pohyblivářádováčárka

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

Počítač jako prostředek řízení. Struktura a organizace počítače

VÝRAZY výrazy = operandy prokládané operátory, vyhodnocované podle priority operátorů

Floating Point. Jak je reprezentovaný a proč někdy nefunguje. 2. června 2013

C2110 Operační systém UNIX a základy programování

Princip funkce počítače

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

PRINCIPY POČÍTAČŮ Metodický list číslo 1

Přednáška 2: Čísla v počítači. Práce s počítačem. Číselné soustavy. Převody mezi soustavami. Aritmetické operace. Uložení čísel v paměti počítače

Opakování programování

OPS Paralelní systémy, seznam pojmů, klasifikace

Struktura a architektura počítačů (BI-SAP) 5

Práce v textovém editoru

HW počítače co se nalézá uvnitř počítačové skříně

Aplikovaná numerická matematika

Metody připojování periferií BI-MPP Přednáška 1

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Von Neumannovo schema počítače

Architektura počítačů

Formátová specifikace má tvar (některé sekce nemají smysl pro načítání) %

Úvod do problematiky numerických metod. Numerické metody. Ústav matematiky. 6. února 2006

Historie výpočetní techniky. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1121_Histrorie výpočetní techniky_pwp

ČÍSELNÉ SOUSTAVY PŘEVODY

C2115 Praktický úvod do superpočítání

Y36SAP. Osnova. Číselné soustavy a kódy, převody, aritmetické operace Y36SAP Poziční číselné soustavy a převody.

Elementární datové typy

Osobní počítač. Zpracoval: ict Aktualizace:

Transkript:

C2115 Praktický úvod do superpočítání IX. lekce Petr Kulhánek, Tomáš Bouchal kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta, Masarykova univerzita, Kotlářská 2, CZ-61137 Brno C2115 Praktický úvod do superpočítání -1-

Obsah Architektura počítače CPU, paměť, grafická systém, disky, síť, periferie Reprezentace číselných hodnot v číslicové technice celá čísla, reálná čísla Od problému k výsledku algoritmus, zdrojové kódy, překlad, spouštění programu, programovací jazyky C2115 Praktický úvod do superpočítání -2-

Architektura počítače C2115 Praktický úvod do superpočítání -3-

Přehled 1945 von Neumannova architektura 1944 Hardwardská architektura rw CPU Paměť I/O I/O řídící sběrnice datová sběrnice adresní sběrnice Paměť programu ro CPU Paměť dat rw program může sebe modifikovat program a data nelze načítat současně program se nemůže modifikovat program a data se mohou načítat současně John von Neumann, původem maďarský matematik, působící ve spojených státech Harvard Mark I - počítač složeny z relé, 24 bitové instrukce C2115 Praktický úvod do superpočítání -4-

Přehled 1945 von Neumannova architektura 1944 Hardwardská architektura rw CPU Paměť I/O I/O řídící sběrnice datová sběrnice adresní sběrnice Paměť programu ro CPU Paměť dat rw program může sebe modifikovat program a data nelze načítat současně program se nemůže modifikovat program a data se mohou načítat současně v dnešních počítačích se kombinují obě architektury John von Neumann, původem maďarský matematik, působící ve spojených státech Harvard Mark I - počítač složeny z relé, 24 bitové instrukce C2115 Praktický úvod do superpočítání -5-

Typické schéma počítače paměť CPU řadič paměti se stává součástí nejnovějších procesorů řadič paměti severní můstek grafický systém periferie s rychlým přístupem přes PCI Express zvuk USB jižní můstek síť (ethernet) BIOS myš, klávesnice PCI sběrnice hodiny reálného času řadiče SATA pevné disky C2115 Praktický úvod do superpočítání -6-

CPU Procesor též CPU (anglicky Central Processing Unit) je základní součástí počítače; jde o velmi složitý sekvenční obvod, který vykonává strojový kód uložený v operační paměti počítače. Strojový kód je složen z jednotlivých strojových instrukcí počítačových programů nahraných do operační paměti. www.wikipedia.org CPU načítá strojové instrukce a data a připravuje jejich zpracování v ALU řadič ALU ALU (arithmetic and logic unit), vykonává aritmetické operace, vyhodnocuje podmínky sekvenční zpracovávání strojových instrukcí je řízeno vnitřním hodinovým taktem C2115 Praktický úvod do superpočítání -7-

Reprezentace číselných hodnot C2115 Praktický úvod do superpočítání -8-

Celá čísla Nejmenší jednotkou informace v číslicové technice je jeden bit. Z bitů se skládají slova. Nejmenším slovem je byte, který obsahuje 8 bitů. Jeden byte může popsat celá čísla s rozsahem od 0 do 255. 128 64 32 16 8 4 2 1 0 1 0 1 0 1 1 1 = 87 Lze vyjádřit i celá čísla se znaménkem. V tomto případě je jeden bit vyhrazen pro znaménko, zbývající bity pro číslo. Existuje několik možností implementace. Intel architektura využívá dvojkový doplněk, který vede k rozsahu od -128 do 127. bit vyhrazený pro znaménko 128 64 32 16 8 4 2 1 0 1 1 1 1 1 1 1 = 127 0 1 0 1 0 1 1 1 = 87 0 0 0 0 0 0 0 1 = 1 0 0 0 0 0 0 0 0 = 0 1 1 1 1 1 1 1 1 = -1 1 0 1 0 1 0 0 1 = -87 1 0 0 0 0 0 0 0 = -128 C2115 Praktický úvod do superpočítání -9-

Celá čísla, II Celé čísla s větším dynamickým rozsahem lze vyjádřit pomocí větších slov typicky složených ze čtyř bajtů (32 bitové slovo) nebo osmi bajtů (64 bitové slovo). 32 bitové celé číslo bez znaménka: 0 až 4.294.967.295 32 bitové celé číslo se znaménkem: 2.147.483.648 až 2.147.483.647 64 bitové celé číslo bez znaménka: 0 až 18.446.744.073.709.551.615 64 bitové celé číslo se znaménkem: 9.223.372.036.854.775.808 až 9.223.372.036.854.775.807 Při práci s celými čísly je nutné brát v potaz, že s nimi nelze vyjádřit libovolně velké číslo a je nutné se důsledně vyvarovat možnosti podtečení nebo přetečení hodnoty. C2115 Praktický úvod do superpočítání -10-

Reálná čísla Reálná čísla se vyjadřují v následujícím formátu (formát s pohyblivou čárkou, angl. floating point): exponent mantisa Q m 1 2 2 1 m m m 1 1 2 2 3 3 2 1 4 2 1 4... m 1,m 2,m 3 jsou bity mantisy V číslicové technice se reálná čísla nejčastěji vyjadřují ve formátu definovaném standardem IEEE 754. typ šířka mantisa exponent jednoduchá přesnost (single precision) 32 23 8 dvojnásobná přesnost (double precision) 64 52 11 C2115 Praktický úvod do superpočítání -11-

Reálná čísla, II typ rozsah přesnost jednoduchá přesnost (single precision) dvojnásobná přesnost (double precision) ±1,18 10 38 až ±3, 4 10 38 přibližně 7 desetinných míst ±2,23 10 308 až ±1,80 10 308 přibližně 15 desetinných míst Speciální kombinací hodnoty mantisy a exponentu, lze vyjádřit následující speciální hodnoty: 0 kladná nula -0 záporná nula NaN not a number, např. výsledek dělení nulou +Inf kladné nekonečno (číslo je příliš velké pro vyjádření) -Inf záporné nekonečno (číslo je příliš velké pro vyjádření) Při práci s reálnými čísly je nutné dbát ohled na šíření zaokrouhlovacích chyb, v logických porovnáváních není vhodné používat operátory rovná se a nerovná se, kromě situace porovnávání s nulou. C2115 Praktický úvod do superpočítání -12-

Cvičení 1 1. Proměnná typu signed char (bajt se znaménkem) obsahuje číslo 127. Jakou hodnotu bude mít proměnná pokud ji zvýšíme o jedničku? 2. Proměnná typu unsigned char (bajt bez znaménka) obsahuje číslo 88. Jak se číselná hodnota změní, pokud se provede posunutí bitové reprezentace čísla o jednu pozici doprava nebo doleva? Jaký matematický význam má daná operace. 3. Jaký bude výsledek součtu reálných čísel reprezentovaných v dvojnásobné přesnosti a majících hodnotu: 0,1346978.10-12 1,2312657.10 6 4. Co je to big-endian a little-endian? Uvedťe architektury, které daný typ endianity používají. Jaký vliv má endianita na přenos binárních dat? Společné cvičení: převod číselných hodnot z dekadické do dvojkové a hexadecimální soustavy C2115 Praktický úvod do superpočítání -13-

Od problému k výsledku C2115 Praktický úvod do superpočítání -14-

Od problému k výsledku... Problém Výsledek C2115 Praktický úvod do superpočítání -15-

Od problému k výsledku... Problém Výsledek algoritmus výpočet zdrojový kód program C2115 Praktický úvod do superpočítání -16-

Od problému k výsledku... Problém Výsledek algoritmus vývojové diagramy zdrojový kód program výpočet alokace a efektivní využití zdrojů volba jazyka, ruční optimalizace kompilace strojová optimalizace C2115 Praktický úvod do superpočítání -17-

Od problému k výsledku... Problém Výsledek algoritmus hardware výpočet vývojové diagramy zdrojový kód program alokace a efektivní využití zdrojů volba jazyka, ruční optimalizace kompilace strojová optimalizace C2115 Praktický úvod do superpočítání -18-

Od problému k výsledku... 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. algoritmus hardware výpočet vývojové diagramy zdrojový kód program alokace a efektivní využití zdrojů volba jazyka, ruční optimalizace kompilace strojová optimalizace C2115 Praktický úvod do superpočítání -19-

Probírané okruhy... 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. algoritmus hardware výpočet zdrojový kód program základní problémy s vytvářením aplikací pro náročné výpočty, paralelizace C2115 Praktický úvod do superpočítání -20-

Probírané okruhy... 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. algoritmus hardware výpočet zdrojový kód program efektivní spouštění aplikací z oblasti výpočetní chemie (MetaCentrum, malé klastry) C2115 Praktický úvod do superpočítání -21-

Programy vs Skripty Program je soubor strojových instrukcí zpracovávaných přímo procesorem. Program vzniká překladem zdrojového kódu programovacího jazyka. Skript je textový soubor obsahující příkazy a řídící sekvence, které jsou vykonávány interpreterem použitého skriptovacího jazyka. Překládané jazyky: zdrojový kód C/C++ Fortran vstup Skriptovací jazyky: bash gnuplot awk JavaScript PHP vstup program skript interpreter překlad (kompilace) výstup výstup C2115 Praktický úvod do superpočítání -22-

Programy vs Skripty snadná optimalizace rychlé vykonávání nutnost rekompilace nelze vytvářet samospustitelný kód nevyžaduje rekompilaci vytváření samospustitelného kódu špatná optimalizovatelnost pomalejší vykonávání zdrojový kód vstup vstup program skript interpreter překlad (kompilace) výstup výstup C2115 Praktický úvod do superpočítání -23-

Programy vs Skripty Programy určené pro náročné vědeckotechnické výpočty jsou vždy psané v kompilovatelných programovacích jazycích. Mezi tyto jazyky patří: Fortran C/C++ Skriptovací jazyky se pro náročné výpočty buď vůbec nepoužívají nebo se používají v podpůrných částech výpočtů, které nejsou výpočetně náročné. C2115 Praktický úvod do superpočítání -24-

Cvičení 2 1. Určete procentuální zastoupení programů napsaných v jazyku Fortran, C/C++ a jiný, které jsou uvedeny na následující stránce: http://en.wikipedia.org/wiki/list_of_quantum_chemistry_and_solid_state_physics_software Výsledek znázorněte ve formě výsečového grafu. C2115 Praktický úvod do superpočítání -25-