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

je prázdný
a
b

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í  
Moderní počítačové architektury a optimalizace implementace algoritmů, 2. přepracované vydání

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


Kniha teď bohužel není dostupná.

»hlídat dostupnost

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

Specifikace
Nakladatelství: ČVUT Praha
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
procesory
počítačová architektura
Algoritmy (programování)
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






       

internetové knihkupectví ABZ - online prodej knih


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