注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計程序設計綜合軟件優(yōu)化技術:IA-32平臺的高性能手冊(第2版)

軟件優(yōu)化技術:IA-32平臺的高性能手冊(第2版)

軟件優(yōu)化技術:IA-32平臺的高性能手冊(第2版)

定 價:¥59.00

作 者: (美)格貝爾(Gerber,R.) 等著,王濤 等譯
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787121040054 出版時間: 2007-04-01 包裝: 膠版紙
開本: 16開 頁數(shù): 302 字數(shù):  

內(nèi)容簡介

  《軟件優(yōu)化技術》是Intel出版社最暢銷的書籍之一。讀者反饋表明,本書填補了軟件優(yōu)化的初級課本與解決專門Intel®架構的高級手冊之間的空白。隨著Intel擴展內(nèi)存64位技術(Intel EM64T)、多核處理技術、超線程技術、OpenMP†和多媒體擴展技術的流行,該書第1版的內(nèi)容顯得有些陳舊。因此,Intel出版社邀請另外三位Intel專家與原作者一起擴展、更新形成了本書的第2版?!盾浖?yōu)化技術》第2版提供了在Intel平臺上部署高性能應用的最新技術。作者通過簡單的解釋和示例,向你展示了如何解決具有算法、內(nèi)存訪問、分支預測、自動矢量化、SIMD指令、多線程和浮點計算等內(nèi)容的性能相關問題。軟件開發(fā)者可以從中學習如何利用Intel EM64T、多核處理技術、超線程技術、OpenMP和多媒體擴展技術進行軟件優(yōu)化。這本書引導你通過使用軟件工具、編譯器開關和代碼優(yōu)化,高效地改善基于Intel平臺的應用性能。想要了解最新技術以提高應用性能和想提高編碼技巧的軟件開發(fā)者均可以從本書中受益。本書主要內(nèi)容如下:l 選擇正確的算法l 自動化矢量以及使用編譯提示來指導編譯器l 編譯器對多線程的支持l 共享的二級和三級緩存對性能的影響l 循環(huán)優(yōu)化以及何時使用編譯器獲取性能提升l 使用intrinsics來開發(fā)SIMD技術

作者簡介

  Richard Gerber,在Intel參與過許多項目,包括多媒體、3D函數(shù)庫和計算機游戲。作為軟件工程師,他參與了Intel VTune性能分析器項目,同時還帶領優(yōu)化技術的培訓。Richard是《軟件優(yōu)化技術》的最初作者,還是《使用超線程技術編程》的合著者。

圖書目錄

第一部分 性能分析工具和基本概念(開胃品)
第1章 引言...............3
軟件優(yōu)化...............4
軟件優(yōu)化陷阱........4
軟件優(yōu)化過程........6
要點.........7
第2章 測試基準........9
Benchmark的屬性............10
可重復性(必須).........10
代表性(必須)..........11
易用性(必須)..........11
可驗性(必須)..........11
時間可測性(可選)...........11
完全覆蓋性(條件依賴)............12
精確性(條件依賴)...........12
Benchmark示例........12
要點.............16
第3章 性能分析工具...........18
時間機制.............18
優(yōu)化編譯器..........20
使用Intel C++和Fortran編譯器........20
特定處理器優(yōu)化..........21
針對特定處理器的函數(shù)實現(xiàn)........22
其他編譯器優(yōu)化..........23
軟件分析的類型................24
性能監(jiān)測.............25
VTune性能分析器...........25
采樣.............26
調用圖分析.........27
Intel編譯器Codecov分析器..........28
Microsoft Visual C++分析器............29
采樣與插樁型分析器的比較...........30
嘗試、錯誤、判斷力與耐心...........31
要點.............32
第4章 熱點.............34
什么因素導致熱點和冷點?.............36
不僅僅是時間...........36
均勻執(zhí)行與沒有熱點..........37
要點.............39
第5章 處理器體系結構..........41
功能模塊.............42
要兩個漢堡!................43
取指與譯碼.........45
指令執(zhí)行............47
退出.............50
寄存器和內(nèi)存...........50
要點.............52
第二部分 性能相關問題(主菜)
第6章 算法.............55
計算復雜度..........55
指令選擇.............56
數(shù)據(jù)相關與指令并行..........61
內(nèi)存需求.............63
并行算法.............64
算法的通用性............65
檢測算法問題............65
要點.............69
第7章 分支.............72
找到關鍵的預測錯誤的分支...........74
第一步:找到預測錯誤的分支..........74
第二步:找到耗時的熱點............75
第三步:確定預測錯誤的分支的比率..........76
最后的全面檢查..........77
分支的不同類型................78
使分支更容易被預測..........80
使用CMOV移除分支.............81
使用標志移除分支...........83
使用min/max指令移除分支...........84
通過額外工作去除分支...........85
要點.............86
第8章 內(nèi)存.............88
內(nèi)存概覽.............89
主存和虛擬內(nèi)存..........89
處理器緩存.........90
緩存細節(jié).............92
硬件預取.............93
軟件預取.............94
不通過緩存寫數(shù)據(jù):非臨時性寫...............95
影響內(nèi)存性能的問題..........96
強制緩存載入..............96
容量緩存載入..............97
沖突緩存載入..............97
緩存效率............98
存儲轉發(fā)............99
數(shù)據(jù)對齊..........100
編譯器和數(shù)據(jù)對齊.............101
軟件預取..........102
檢測內(nèi)存問題.........103
找到頁缺失................104
找到存儲轉發(fā)問題.............106
找到L1緩存缺失........106
理解潛在的改進........108
修復內(nèi)存問題.........109
要點...........115
第9章 循環(huán).............117
數(shù)據(jù)相關.............118
循環(huán)分配和融合..............120
循環(huán)剝離.............122
循環(huán)展開與合并..............123
循環(huán)交換.............126
循環(huán)不變計算.........128
循環(huán)不變分支.........128
循環(huán)不變結果.........129
要點...........130
第10章 慢操作............132
慢指令...............132
查找表...............134
系統(tǒng)調用.............137
系統(tǒng)空閑進程.........140
要點...........143
第11章 浮點...........145
數(shù)值異常.............145
清零和非格式化到零........148
精度...........149
打包和標量模式..............152
浮點到整數(shù)的轉換,取整.............153
下界和上界函數(shù)..............154
浮點操作技巧..........154
浮點類型到整型的轉換..............155
平方根.........155
倒數(shù)平方根................155
要點...........156
第12章 SIMD技術.............158
SIMD技術介紹...............159
MMX™技術..............159
SIMD流擴展.............160
使用SIMD技術..............161
自動矢量化................162
C++類庫...........163
Intrinsics...........164
嵌入?yún)R編語言............165
四種方法的優(yōu)缺點.............166
SIMD技術的考慮事項..........167
決定何處使用SIMD技術..........167
內(nèi)存對齊...........167
數(shù)據(jù)布局...........169
選擇合適的打包數(shù)據(jù)類型..........171
SIMD和x87 FPU計算的兼容性..............173
要點..........173
第13章 自動矢量化...........176
矢量化相關的編譯開關.........176
常用的編譯開關........176
編譯開關使用示例.............179
矢量化相關的編譯提示.........180
常用的編譯提示........180
編譯提示使用示例.............185
矢量化指南........186
設計與實現(xiàn)的考慮.............187
矢量化診斷的使用.............189
別名與負面影響的最小化..........192
編程風格..........196
目標體系結構............197
要點...........200
第14章 面向處理器的特殊優(yōu)化............202
32位Intel體系結構.........202
Pentium M處理器..........204
一級指令緩存.........205
指令譯碼.............206
指令延遲.............207
指令集...............208
浮點控制寄存器..............208
MXCSR狀態(tài)寄存器.........209
一級數(shù)據(jù)緩存.........209
內(nèi)存預取.............209
處理器事件........210
部分寄存器延遲..............210
部分標志延遲.........212
暫停指令.............212
要點...........213
第15章 多處理技術介紹...........214
并行程序設計..........215
線程管理.............217
使用OpenMP高層線程化†........217
低層線程...........220
線程化的目標..........220
線程化的相關問題.........222
Intel編譯器與線程工具.........225
要點...........226
第16章 OpenMP多線程..........228
OpenMP的關鍵要素........228
多線程執(zhí)行模型........232
OpenMP的存儲模型.........234
OpenMP的限制........238
編譯OpenMP程序.........239
自動并行化........241
線程化指南........244
要點...........246
第17章 任務隊列和OpenMP的高等應用專題..........249
任務隊列—Intel對OpenMP的擴展.........249
任務隊列執(zhí)行模型.............249
任務隊列和任務結構.........252
線程化N皇后問題:一個實例研究........255
線程級流水線并行.........260
開發(fā)嵌套式并行性.........263
多級并行.............267
線程綁定研究.........269
理解循環(huán)調度.........271
要點...........274
第三部分 設計和應用優(yōu)化(甜點)
第18章 實例研究:線程化視頻編碼器..........279
H.264視頻編碼器的初始性能...........279
H.264視頻編碼器的并行化..........280
任務和數(shù)據(jù)劃分........281
切片級并行性............282
幀級并行..........283
基于兩個切片隊列的實現(xiàn)..........284
基于任務隊列模型的實現(xiàn)..........285
性能...........288
速度提高與壓縮效率間的折衷........288
在支持HT技術的多處理器上的性能.........290
性能的理解........291
多線程的額外開銷.........294
進一步的性能調試.........295
線程化總結........296
要點...........297
第19章 針對性能的設計...........298
數(shù)據(jù)移動.............299
內(nèi)存與并行性.........299
設計過程中的性能實驗.........300
算法...........301
要點...........303
第20章 綜合:基本的優(yōu)化................306
采摘低處的果實..............306
應用...........307
相關資料.............309
Benchmark.........309
Benchmark結果的理解..........310
浮點到長整型轉換的改進.............310
算法的并行化..........312
采用自動矢量化..............313
基于Intrinsics的指令級并行........314
優(yōu)化總結.............315
要點...........316
第21章 綜合:最后的百分之十............318
最快的速度........318
更高的SIMD效率.........320
最終的優(yōu)化........323
優(yōu)化總結.............324
要點...........325
參考文獻...........326
索引............332

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號