图书介绍
软件优化技术 IA-32平台的高性能手册 high-performance recipes for IA-32 platforms2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)Richard Gerber等著;王涛,单久龙,孙广中等译 著
- 出版社: 北京:电子工业出版社
- ISBN:7121040050
- 出版时间:2007
- 标注页数:346页
- 文件大小:47MB
- 文件页数:363页
- 主题词:软件设计-手册
PDF下载
下载说明
软件优化技术 IA-32平台的高性能手册 high-performance recipes for IA-32 platformsPDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 性能分析工具和基本概念(开胃品)3
第1章 引言3
软件优化4
软件优化陷阱4
软件优化过程6
要点7
第2章 测试基准9
Benchmark的属性10
可重复性(必须)10
代表性(必须)11
易用性(必须)11
可验性(必须)11
时间可测性(可选)11
完全覆盖性(条件依赖)12
精确性(条件依赖)12
Benchmark示例12
要点16
第3章 性能分析工具18
计时机制18
优化编译器20
使用Intel?C++和Fortran编译器20
特定处理器优化21
针对特定处理器的函数实现22
其他编译器优化23
软件分析的类型24
性能监测25
VTuneTM性能分析器25
采样26
调用图分析27
Intel编译器Codecov分析器28
Microsoft Visual C++分析器29
采样与插桩型分析器的比较30
尝试、错误、判断力与耐心31
要点32
第4章 热点34
什么因素导致热点和冷点?36
不仅仅是时间36
均匀执行与没有热点37
要点39
第5章 处理器体系结构41
功能模块42
要两个汉堡!43
取指与译码45
指令执行47
退出50
寄存器和内存50
要点52
第二部分 性能相关问题(主菜)55
第6章 算法55
计算复杂度55
指令选择56
数据相关与指令并行61
内存需求63
并行算法64
算法的通用性65
检测算法问题65
要点69
第7章 分支72
找到关键的预测错误的分支74
第一步:找到预测错误的分支74
第二步:找到耗时的热点75
第三步:确定预测错误的分支的比率76
最后的全面检查77
分支的不同类型78
使分支更容易被预测80
使用CMOV移除分支81
使用标志移除分支83
使用min/max指令移除分支84
通过额外工作去除分支85
要点86
第8章 内存88
内存概览89
主存和虚拟内存89
处理器缓存90
缓存细节92
硬件预取93
软件预取94
不通过缓存写数据:非临时性写95
影响内存性能的问题96
强制缓存载入96
容量缓存载入97
冲突缓存载入97
缓存效率98
存储转发99
数据对齐100
编译器和数据对齐101
软件预取102
检测内存问题103
找到页缺失104
找到存储转发问题106
找到L1缓存缺失106
理解潜在的改进108
修复内存问题109
要点115
第9章 循环117
数据相关118
循环分配和融合120
循环剥离122
循环展开与合并123
循环交换126
循环不变计算128
循环不变分支128
循环不变结果129
要点130
第10章 慢操作132
慢指令132
查找表134
系统调用137
系统空闲进程140
要点143
第11章 浮点145
数值异常145
清零和非格式化到零148
精度149
打包和标量模式152
浮点到整数的转换,取整153
下界和上界函数154
浮点操作技巧154
浮点类型到整型的转换155
平方根155
倒数平方根155
要点156
第12章 SIMD技术158
SIMD技术介绍159
MMXTM技术159
SIMD流扩展160
使用SIMD技术161
自动矢量化162
C++类库163
Intrinsics164
嵌入汇编语言165
四种方法的优缺点166
SIMD技术的考虑事项167
决定何处使用SIMD技术167
内存对齐167
数据布局169
选择合适的打包数据类型171
SIMD和x87 FPU计算的兼容性173
要点173
第13章 自动矢量化176
矢量化相关的编译开关176
常用的编译开关176
编译开关使用示例179
矢量化相关的编译提示180
常用的编译提示180
编译提示使用示例185
矢量化指南186
设计与实现的考虑187
矢量化诊断的使用189
别名与负面影响的最小化192
编程风格196
目标体系结构197
要点200
第14章 面向处理器的特殊优化202
32位Intel?体系结构202
Pentium?M处理器204
一级指令缓存205
指令译码206
指令延迟207
指令集208
浮点控制寄存器208
MXCSR状态寄存器209
一级数据缓存209
内存预取209
处理器事件210
部分寄存器延迟210
部分标志延迟212
暂停指令212
要点213
第15章 多处理技术介绍214
并行程序设计215
线程管理217
使用OpenMP+高层线程化217
低层线程220
线程化的目标220
线程化的相关问题222
Intel编译器与线程工具225
要点226
第16章 OpenMP+多线程228
OpenMP+的关键要素228
多线程执行模型232
OpenMP+的存储模型234
OpenMP+的限制238
编译OpenMP+程序239
自动并行化241
线程化指南244
要点246
第17章 任务队列和OpenMP+的高等应用专题249
任务队列—Intel对OpenMP+的扩展249
任务队列执行模型249
任务队列和任务结构252
线程化N皇后问题:一个实例研究255
线程级流水线并行260
开发嵌套式并行性263
多级并行267
线程绑定研究269
理解循环调度271
要点274
第三部分 设计和应用优化(甜点)279
第18章 实例研究:线程化视频编码器279
H.264视频编码器的初始性能279
H.264视频编码器的并行化280
任务和数据划分281
切片级并行性282
帧级并行283
基于两个切片队列的实现284
基于任务队列模型的实现285
性能288
速度提高与压缩效率间的折衷288
在支持HT技术的多处理器上的性能290
性能的理解291
多线程的额外开销294
进一步的性能调试295
线程化总结296
要点297
第19章 针对性能的设计298
数据移动299
内存与并行性299
设计过程中的性能实验300
算法301
要点303
第20章 综合:基本的优化306
采摘低处的果实306
应用307
相关资料309
Benchmark309
Benchmark结果的理解310
浮点到长整型转换的改进310
算法的并行化312
采用自动矢量化313
基于Intrinsics的指令级并行314
优化总结315
要点316
第21章 综合:最后的百分之十318
最快的速度318
更高的SIMD效率320
最终的优化323
优化总结324
要点325
参考文献326
索引332
热门推荐
- 153498.html
- 1216922.html
- 1161813.html
- 2326726.html
- 863443.html
- 1062988.html
- 1923403.html
- 1713892.html
- 601421.html
- 659502.html
- http://www.ickdjs.cc/book_1312705.html
- http://www.ickdjs.cc/book_3500733.html
- http://www.ickdjs.cc/book_1859080.html
- http://www.ickdjs.cc/book_34617.html
- http://www.ickdjs.cc/book_695485.html
- http://www.ickdjs.cc/book_2384690.html
- http://www.ickdjs.cc/book_2445142.html
- http://www.ickdjs.cc/book_2298708.html
- http://www.ickdjs.cc/book_2620740.html
- http://www.ickdjs.cc/book_225408.html