图书介绍
Intel Xeon Phi协处理器高性能编程指南2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)杰弗斯,(美)仁达敬著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115347848
- 出版时间:2014
- 标注页数:380页
- 文件大小:167MB
- 文件页数:410页
- 主题词:微处理器-系统设计
PDF下载
下载说明
Intel Xeon Phi协处理器高性能编程指南PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 绪论1
1.1更加并行化1
1.2为什么需要Intel Xeon Phi协处理器2
1.3协处理器平台5
1.4第一款Intel Xeon Phi协处理器7
1.5控制“Ninja鸿沟”于一定范围9
1.6移植与优化的双重优势9
1.7何时使用Intel Xeon Phi协处理器10
1.8实现处理器性能最优11
1.9为何扩展超过100个线程如此重要11
1.10最大化并行程序性能14
1.11评估高度并行执行的能力14
1.12对于GPU是怎么样的15
1.13易于移植,也易于提升性能16
1.14性能移植16
1.15 超线程与多线程17
1.16协处理器主要使用模型:MPI和Offload17
1.17编译器和编程模型18
1.18缓存优化19
1.19案例和细节20
1.20更多信息21
第2章 高性能封闭追踪测试驱动23
2.1揭开引擎盖:协处理器详解24
2.2发动汽车:与协处理器沟通25
2.3轻松上路:首次运行代码27
2.4开始加速:多线程运行代码31
2.5全速行驶:使用所有核心36
2.6轻松过弯:访存带宽45
2.7高速漂移:内存带宽最大化50
2.8总结52
第3章 一场乡间公路友谊赛55
3.1赛前准备:本章重点55
3.2初识赛道:9点模板算法56
3.3起跑线上:9点模板基准程序58
3.4路在前方:运行基准模板代码63
3.5石子路上:向量化而未扩展65
3.6全力比赛:向量化加上规模扩展67
3.7扳手和润滑油:代码微调70
3.7.1基准校正70
3.7.2使用流存储72
3.7.3使用2MB大型存储页73
3.8总结74
3.9更多信息75
第4章 都市畅游:实际代码优化案例77
4.1选择方向:基本的扩散算法78
4.2到达路口:计算边界效应78
4.3寻找林荫大道:代码扩展化84
4.4雷霆之路:保证向量化86
4.5剥离:从最内层循环开始89
4.6尝试辛烷含量更高的燃料:利用数据局部性与切片分块提升速度92
4.7高速驾驶认证:高速旅行的总结96
第5章 大数据(向量)99
5.1为什么向量化99
5.2如何向量化100
5.3实现向量化的五种方法100
5.4六步向量化方法论102
5.5通过Cache流:布局、对齐、预取数据104
5.5.1为什么数据布局影响向量化性能104
5.5.2数据校准106
5.5.3预取107
5.5.4流存储112
5.6编译器技巧114
5.6.1避免手动展开循环114
5.6.2循环向量化的要求(英特尔编译器)115
5.6.3内联的重要性,简单性能分析的干扰116
5.7编译器选项117
5.8编译器指导指令118
5.8.1 SIMD指令119
5.8.2 VECTOR与NOVECTOR指令123
5.8.3 IVDEP指令124
5.8.4随机数函数向量化126
5.8.5充分向量化128
5.8.6 -opt-assume-safe-padding选项130
5.8.7数据对齐130
5.8.8在数组表示法(Array Notation)中权衡向量长度134
5.9使用数组段(Array Section)支持向量化137
5.9.1 Fortran数组段137
5.9.2 Cilk Plus数组段和元素函数139
5.10查看编译器生成:汇编代码检测143
5.10.1如何找到汇编代码143
5.10.2快速查看汇编代码145
5.11向量化数值结果差异149
5.12总结149
5.13更多信息149
第6章 多任务(非多线程)151
6.1 OpenMP、 Fortran2008、 Intel TBB、 Intel Cilk Plus、 Intel MKL152
6.1.1需在协处理器上创建任务153
6.1.2线程池的重要性154
6.2 OpenMP154
6.2.1并行处理模型155
6.2.2指导性语句155
6.2.3 OpenMP上的有效控制155
6.2.4嵌套156
6.3 Fortran 2008157
6.3.1 DO CONCURRENT157
6.3.2 DO CONCURRENT以及数据竞争157
6.3.3 DO CONCURRENT定义158
6.3.4 DO CONCURRENT对比FOR ALL159
6.3.5 DO CONCURRENT对比OpenMP “Parallel”160
6.4 Intel TBB160
6.4.1发展历史162
6.4.2使用TBB163
6.4.3 parallel_for163
6.4.4 blocked_range164
6.4.5 Partitioners164
6.4.6 Parallel_reduce165
6.4.7 Parallel_invoke166
6.4.8 C++11相关166
6.4.9 TBB总结167
6.5 Cilk Plus167
6.5.1发展历史169
6.5.2从TBB借用组件169
6.5.3向TBB提供组件170
6.5.4关键字拼写170
6.5.5 cilk_for170
6.5.6 cilk_spawn与cilk_sync171
6.5.7 Reducers(超对象)172
6.5.8数组表示法与基本函数173
6.5.9 Cilk Plus总结173
6.6总结173
6.7更多信息173
第7章 分载(Offload)175
7.1两种分载模式176
7.2分载执行与本地执行176
7.2.1非共享内存模式:使用分载编译器指导指令(Pragma)177
7.2.2共享虚拟内存模式:通过共享虚拟内存使用分载177
7.2.3 Intel数学函数库(Intel MKL)自动分载178
7.3分载的语言扩展支持178
7.3.1分载的编译器选项和环境变量179
7.3.2分载的共享环境变量181
7.3.3针对多个协处理器分载181
7.4使用编译器指导指令分载182
7.4.1设置协处理器上的变量与函数184
7.4.2指针变量的内存分配与管理186
7.4.3时间优化:坚持分配的另外一个原因193
7.4.4对C/C++目标代码使用编译器指导指令193
7.4.5对Fortran语言中的目标代码使用指导指令195
7.4.6执行单一处理器时不创建代码196
7.4.7英特尔MIC架构预定义宏197
7.4.8 Fortran数组197
7.4.9为部分C/C++数组分配内存197
7.4.10为部分Fortran数组分配内存198
7.4.11两变量间的数据转移199
7.4.12分载代码指令使用的限制条件200
7.5在共享虚拟存储器上使用分载202
7.5.1使用共享内存及共享变量203
7.5.2关于共享函数204
7.5.3共享内存管理函数204
7.5.4同步函数执行与异步函数执行:_Cilk_offload204
7.5.5共享变量和函数:_Cilk shared205
7.5.6_Cilk_shared和Cilk offload的使用规则207
7.5.7处理器与目标之间的内存同步208
7.5.8使用_Cilk offload写入具体目标代码208
7.5.9使用虚拟内存分载代码的限制因素209
7.5.10使用共享虚拟内存时定义持久性数据210
7.5.11使用共享虚拟内存持久性数据的C++声明212
7.6关于异步计算212
7.7关于异步数据转移213
7.8应用目标属性至多个声明218
7.8.1分载使用的vec-report可选项219
7.8.2测量分载区域的时间与数据219
7.8.3 _Offoad_report219
7.8.4在分载代码中使用库220
7.8.5关于使用xiar和xild创建分载程序库220
7.9在协处理器上执行I/O文件221
7.10从分载代码中记录stdout和stderr223
7.11总结223
7.12更多信息224
第8章 协处理器架构225
8.1 Intel Xeon Phi协处理器产品家族226
8.2协处理器卡的设计227
8.3 Intel Xeon Phi协处理器芯片概述228
8.4协处理器核架构229
8.5指令集和多线程处理230
8.6缓存组织和内存访问232
8.7预取234
8.8向量处理单元架构234
8.9协处理器PCI-E系统接口和DMA239
8.10协处理器电源管理241
8.11可靠性、可用性和可维护性(RAS)244
8.12协处理器系统管理控制器(SMC)245
8.12.1传感器246
8.12.2散热设计监控和控制246
8.12.3风扇控制247
8.12.4潜在应用影响247
8.13基准测试247
8.14总结248
8.15 更多信息248
第9章 协处理器系统软件251
9.1协处理器软件体系架构概述251
9.1.1对称性253
9.1.2 Ring级别:用户态和内核态253
9.2协处理器编程模型和选项253
9.2.1宽度与深度254
9 2.2 MPI编程模型255
9.3协处理器软件体系架构组件257
9.4英特尔众核平台软件栈258
9 4.1 MYO: Mine Yours Ours258
9.4.2 COI: Coprocessor Offload Infrastructure259
9.4.3 SCIF: Symmetric Communications Interface259
9.4.4 Virtual networking(NetDev)、TCP/IP及sockets259
9.4.5协处理器系统管理260
9.4.6面向MPI应用程序的协处理器组件262
9.5 Linux对Intel Xeon Phi协处理器的支持267
9.6优化内存分配的性能268
9.6.1控制2MB内存页的数量268
9.6.2监控协处理器上2MB内存页的数量269
9.6.3分配2MB内存页的方法示例269
9.7总结270
9.8更多信息271
第10章 协处理器的Linux系统273
10.1协处理器Linux基础273
10.2协处理器Linux系统的启动和配置简介274
10.3协处理器Linux系统的默认配置276
10.4修改协处理器配置277
10.4.1可配置的组件277
10.4.2配置文件278
10.4.3配置启动参数278
10.4.4协处理器根文件系统280
10.5 micctrl工具285
10.5.1协处理器状态控制285
10.5.2启动协处理器285
10.5.3关闭协处理器286
10.5.4重新启动协处理器286
10.5.5重置协处理器286
10.5.6协处理器配置初始化和信息传播287
10.5.7配置参数的辅助功能288
10.5.8其他文件系统相关的帮助功能290
10.6添加软件290
10.6.1文件系统创建流程291
10.6.2添加文件到根文件系统292
10.6.3示例:添加一组全局访问文件293
10.7 Linux系统在协处理器上的启动过程294
10.8 Linux机群中的协处理器296
10.8.1 Intel Cluster Ready297
10.8.2如何使用Intel Cluster Checker298
10.8.3 Intel Cluster Checker对协处理器的支持298
10.9总结300
10.10更多信息301
第11章 数学库303
11.1英特尔数学核心函数库综述304
11.2英特尔数学核心函数库与英特尔编译器305
11.3协处理器支持综述305
11.3.1自动分载控制函数306
11.3.2设置环境变量308
11.4在本地模式下使用协处理器309
11.5使用自动分载模式310
11.5.1如何开启自动分载310
11.5.2控制作业划分311
11.5.3有效使用自动分载技巧312
11.5.4有、无分载情况下高效使用英特尔MKL的技巧313
11.6使用编译器辅助分载314
11.7精度选择和变化316
11.7.1快速超越函数和数学算法316
11.7.2理解几种可能的浮点算法实现变种316
11.8总结319
11.9更多信息319
第12章M PI321
12.1 MPI总览321
12.2在Intel Xeon Phi上运行MPI322
12.3预备工作326
12.4从MPI进程中分载327
12.4.1 Hello World327
12.4.2梯形积分算法328
12.5协处理器本地使用MPI331
12.5.1 Hello World(再次)332
12.5.2梯形积分算法(回顾)333
12.6总结338
12.7更多信息338
第13章 采样和计时341
13.1协处理器事件监视寄存器342
13.2效率指标343
13.2.1 CPI344
13.2.2计算与数据访问比率(Compute to Data Access Ratio)347
13.3潜在性能问题348
13.3.1通用缓存使用率(General Cache Usage)349
13.3.2 TLB失效351
13.3.3 VPU使用率352
13.3.4内存带宽353
13.4 Intel VTune Amplifier XE产品355
13.5性能应用编程接口356
13.6 MPI分析:英特尔追踪分析器与收集器356
13.6.1生成跟踪文件:面向只在协处理器上运行的应用356
13.6.2生成跟踪文件:面向同时在处理器和协处理器上运行的应用357
13.7计时357
13.7.1协处理器上的时钟源358
13.7.2 MIC运行时间计数器(micetc)358
13.7.3时间戳计数器(tsc)358
13.7.4设置时钟源359
13.75时间结构359
13.7.6时间惩罚360
13.7.7在分载区(offload region)测量时间和数据361
13.8总结361
13.9更多信息361
第14章 总结363
14.1建议363
14.2附加资源364
14.3将推出另一本书364
14.4感谢读者反馈364
术语表365
热门推荐
- 2155394.html
- 2401903.html
- 3149042.html
- 620563.html
- 1203049.html
- 917929.html
- 3324402.html
- 2320697.html
- 185802.html
- 2289362.html
- http://www.ickdjs.cc/book_3416853.html
- http://www.ickdjs.cc/book_782111.html
- http://www.ickdjs.cc/book_1612953.html
- http://www.ickdjs.cc/book_322668.html
- http://www.ickdjs.cc/book_2615650.html
- http://www.ickdjs.cc/book_3668192.html
- http://www.ickdjs.cc/book_3204097.html
- http://www.ickdjs.cc/book_1445064.html
- http://www.ickdjs.cc/book_3468089.html
- http://www.ickdjs.cc/book_3635328.html