načítání...
nákupní košík
Košík

je prázdný
a
b

Kniha: Moderní počítačové architektury a optimalizace implementace algoritmů, 2. přepracované vydání - Ivan Šimeček

Moderní počítačové architektury a optimalizace implementace algoritmů, 2. přepracované vydání
-15%
sleva

Kniha: Moderní počítačové architektury a optimalizace implementace algoritmů, 2. přepracované vydání
Autor:

Učební text je určen pro všechny studenty, kteří se zajímají o moderní architektury počítačů a jejich programování. Přináší převážně programátorský pohled na danou ... (celý popis)
Titul doručujeme za 5 pracovních dní
Vaše cena s DPH:  224 Kč 190
+
-
rozbalKdy zboží dostanu
6,3
bo za nákup
rozbalVýhodné poštovné: 69Kč
rozbalOsobní odběr zdarma

hodnoceni - 0%hodnoceni - 0%hodnoceni - 0%hodnoceni - 0%hodnoceni - 0%   celkové hodnocení
0 hodnocení + 0 recenzí

Specifikace
Nakladatelství: » ČVUT Praha
Médium / forma: Tištěná kniha
Rok vydání: 27.06.2017
Počet stran: 146
Rozměr: 210x297
Úprava: 145 stran : ilustrace
Vydání: 2., přepracované vydání
Jazyk: česky
ISBN: 978-80-01-06035-3
EAN: 9788001060353
Ukázka: » zobrazit ukázku
Popis

Učební text je určen pro všechny studenty, kteří se zajímají o moderní architektury počítačů a jejich programování. Přináší převážně programátorský pohled na danou problematiku včetně popisu OpenMP API, což je v současnosti nejrozšířenější rozhraní pro psaní vícevláknových programů.

Předmětná hesla
Kniha je zařazena v kategoriích
Ivan Šimeček - další tituly autora:
Recenze a komentáře k titulu
Zatím žádné recenze.


Ukázka / obsah
Přepis ukázky

Obsah

1 Ú vod do problematiky 5

1.1 Úvod.................................................................................................................. 5

1.1.1 Změny oproti předchozí verzi ............................................................ 5

1.1.2 Základní definice................................................................................. 6

1.2 Motivační příklad............................................................................................. 7

1.2.1 Triviální algoritmus.............................................................................. 7

1.2.2 Strassenův algoritmus ........................................................................ 7

1.2.3 Coppersmith-Winogradův algoritmus................................................ 8

1.2.4 Srovnání algoritm ů.............................................................................. 8

1.3 Fourier-Motzkinova elim inace........................................................................ 8

1.3.1 Algoritmus F M E ................................................................................. 11

1.4 Krátký úvod do hlavních součástí architektury počítačů............................... 15

1.4.1 C P U ...................................................................................................... 16

1.4.2 Hlavní pam ěť....................................................................................... 17

1.4.3 Virtuální paměť.................................................................................... 17

1.4.4 Skrytá pam ěť....................................................................................... 18

1.4.5 Sběrnice................................................................................................ 19

1.5 Matematický koprocessor x 8 7 ........................................................................ 20

1.5.1 Důvod vzniku x87 20

1.5.2 Vnitřní architektura x 8 7 ..................................................................... 20

1.5.3 Reprezentace čísel v x 8 7 ..................................................................... 21

1.5.4 Časování FPU in stru k cí..................................................................... 21

1.5.5 Nevýhody výpočtů na F P U ............................................................... 22

1.6 Vektorizace výpočtů na procesorech x86 22

1.6.1 Technologie MMX .............................................................................. 23

1.6.2 Technologie 3DNow! ........................................................................... 25

1.6.3 Technologie SSE ................................................................................. 26

1.6.4 Instrukční sada SSE3 a další............................................................... 30

1.6.5 A V X...................................................................................................... 31

1.6.6 Ukázky použití vektorové sady SS E................................................... 31

1.6.7 Zjištění procesorem podporovaných vektorových sad........................ 35

1.6.8 Zhodnocení přínosu vektorových sad ................................................ 36

1.7 Postup optimalizace ....................................................................................... 37

1.7.1 Pokračování motivačního příkladu...................................................... 37

1.7.2 Postup při optimalizaci........................................................................ 39

127


2 Optimalizační techniky 41

2.1 Transformace zdrojových kódů......................................................................... 41

2.1.1 Obecné optimalizace........................................................................... 41

2.1.2 Optimalizace zaměřené na cykly......................................................... 43

2.1.3 Ruční optimalizace.............................................................................. 46

2.2 Datové závislosti............................................................................................. 49

2.2.1 Vyhodnocení datových závislostí podle adresy.................................. 52

2.2.2 Datové závislosti v úplně vnořených soustavách cyklů..................... 55

2.2.3 Legalita transformace c y k lů ............................................................... 57

2.3 Modely chování skryté pam ěti........................................................................ 61

2.3.1 Parametry skrytých p a m ě tí............................................................... 61

2.3.2 Typy výpadků ve skryté pam ěti......................................................... 61

2.3.3 Vztah úrovní skrytých pam ětí............................................................ 62

2.3.4 Modely pro chování skryté paměti...................................................... 62

2.3.5 Model využívající přístupový interval................................................ 64

2.3.6 Model využívající zobecněný přístupový interval............................... 65

2.3.7 Pravděpodobnostní m o d el.................................................................. 66

2.3.8 Model pomocí datových závislostí...................................................... 67

2.3.9 Výpočet R D .......................................................................................... 68

2.3.10 Výpočet G RD ....................................................................................... 68

3 Paralelní zpracování 69

3.1 Paralelní systémy a mechanismy..................................................................... 69

3.1.1 Flynnova taxonomie paralelních architektur .................................... 70

3.1.2 Metody programování paralelních systém ů....................................... 72

3.1.3 Vykonávání paralelních úloh............................................................... 73

3.1.4 Hodnocení kvality paralelních programů .......................................... 75

3.1.5 Vícevláknové programování............................................................... 76

3.2 OpenMP............................................................................................................ 78

3.2.1 Základy OpenMP................................................................................. 78

3.2.2 Paralelizace cyklů................................................................................. 80

3.2.3 Další rysy OpenMP.............................................................................. 85

3.2.4 Základní OpenMP operace.................................................................. 88

3.2.5 Operace f l u s h .................................................................................... 88

3.2.6 Operace s OpenMP zámky.................................................................. 89

3.2.7 Kritické sekce....................................................................................... 90

3.2.8 Funkční paralelismus v OpenMP ...................................................... 90

3.2.9 OpenMP 4.0 + 4 .5 .............................................................................. 95

3.2.10 Efektivita OpenMP kódů....................................................................... 100

3.2.11 Neefektivní chování skrytých p a m ě tí.................................................. 101

3.2.12 Proměnné prostředí................................................................................ 102

3.3 Optimalizace a paralelizace některých důležitých algoritmů.......................... 103

3.3.1 Násobení polynomů................................................................................ 104

3.3.2 Levenshteinův algoritmus ....................................................................104

3.3.3 R adixsort............................................................................................... 105

3.3.4 M ergesort............................................................................................... 105

3.3.5 Q uicksort............................................................................................... 106

128


3.3.6 LU faktorizace 106

4 Případové studie optim alizace různých kódů a praktické rady 109

4.1 Případové studie optimalizace algoritm ů........................................................ 109

4.1.1 Výpočet histogramu ............................................................................. 109

4.1.2 Výpočet diferenciálního operátoru........................................................ 110

4.1.3 Gaussova eliminace................................................................................ 111

4.1.4 Násobení řídké matice vektorem........................................................... 112

4.1.5 Generování velkého množství náhodných č ís e l................................... 114

4.1.6 Aktualizace globálního m axim a........................................................... 117

5 N astavení kompilátorů GCC a ICC 121

5.1 Použití vektorizace v C /C + + .......................................................................... 121

5.1.1 Vložená část v JS A .................................................................................121

5.1.2 Vložení části v JSA do C /C + + ........................................................... 122

5.1.3 Použití MMX, SSE, AVX intrinsic funkcí............................................ 122

5.1.4 Automatická podpora vektorizace........................................................ 123

5.2 Nastavení automatické vektorizace ................................................................. 123

5.2.1 G C C ........................................................................................................ 123

5.2.2 ICC ........................................................................................................ 123

5.3 Třífázová optimalizace.......................................................................................124

5.3.1 Postup pro G C C ................................................................................... 124

5.4 Generování k ó d u ............................................................................................... 124

5.4.1 Použití FP čísel.......................................................................................124

5.4.2 Nastavení cílové architektury ..............................................................125

5.4.3 Nastavení paměťového modelu.............................................................. 126

5.4.4 Předání param etrů................................................................................ 126

129




       
Knihkupectví Knihy.ABZ.cz - online prodej | ABZ Knihy, a.s.
ABZ knihy, a.s.
 
 
 

Knihy.ABZ.cz - knihkupectví online -  © 2004-2018 - ABZ ABZ knihy, a.s. TOPlist