• 1.摘要
  • 2.基本信息
  • 3.基本介绍
  • 3.1.内容简介
  • 3.2.作者简介
  • 4.媒体推荐
  • 5.图书目录

Intel Xeon Phi协处理器高性

杰弗斯著书籍

《Intel Xeon Phi协处理器高性能编程指南》由英特尔的技术专家撰写,是目前为止最全面、最系统地讲解在英特尔至强处理器和至强融核协处理器上进行并行应用开发的专著。 《Intel Xeon Phi协处理器高性能编程指南》从赛车与至强融核协处理器之间的相似性入手,抽丝剥茧、层层深入,探讨实际案例指导编程应用,并对协处理器向量化、协处理器分载模式、协处理器架构及Linux系统、数学库,以及协处理器采样、计时与优化等进行了详细的解析,是一本详尽的至强融核协处理器使用参考指南。特别是,《Intel Xeon Phi协处理器高性能编程指南》所采用的方法兼容了对未来编程模式的展望和支持,书中所阐述的统一、标准和灵活的编程模式,对于未来作为独立处理器使用的MIC众核产品同样适用。 《Intel Xeon Phi协处理器高性能编程指南》适用于想要系统学习英特尔至强融核协处理器编程的读者,无需借助其他参考书,即可循序渐进、全面掌握。

基本信息

  • 外文名

    Intel Xeon Phi Coprocessor High Performance Programming

  • 出版社

    人民邮电出版社

  • 作者

    杰弗斯 (Jim Jeffers) 仁达敬(James Reinders)

  • 开本

    16

  • 页数

    319页

基本介绍

内容简介

·由英特尔的技术专家撰写,是目前为止最全面、最系统地讲解在英特尔至强处理器和至强融核协处理器上进行并行应用开发的专著 ·《Intel Xeon Phi协处理器高性能编程指南》所采用的方法兼容了对未来编程模式的支持,书中所阐述的统一、标准和灵活的编程模式,对于未来作为独立处理器使用的MIC众核产品同样适用。

作者简介

James Reinders, 英特尔软件总监,首席技术布道师 Jim Jeffers, 英特尔MIC(集成众核)架构专家

媒体推荐

2020年左右在限定功耗下实现百万万亿次峰值的超级计算机,是目前世界各国竞相角逐的下一个超级计算界的皇冠,中、美、日、欧等国都制定了雄心勃勃的研制计划。到目前为止,能够实现该目标的计算机体系结构,只有异构众核加速体系结构具有比较清晰的路线图,其他的几个技术路线都有着目前看来难以逾越的技术鸿沟。英特尔顺应这一技术发展趋势,创新性地推出Xeon Phi协处理器,并助力中国国防科技大学团队创新性地提出了微异构的众核加速体系结构,一举夺取了世界TOP 500的2013年6月和11月的两届冠军。由于采用了与Xeon处理器同类别的X86指令集,用户仍然可以使用自己熟悉的MPI和OpenMP进行并行程序设计,极大地降低了使用该处理器的入门成本。但是,如果想更大程度地挖掘Xeon Phi的潜在性能,用户还必须深入了解该处理器的体系结构和更多种类的并行编程模式,本书正好可以满足此类用户的需求。 ——张云泉,中国计算机学会高性能计算专业委员会(CCF TCHPC)秘书长 在Xeon Phi协处理器正式发布之前,我们已经开始使用其试生产硬件,并进行了GeoEast处理系统下的MIC众核并行处理模块移植测试,完成了积分法叠前时间偏移并行模块在MIC上的移植,使用了节点间MPI并行+节点内MIC/CPU协同计算模式(两块MIC卡/节点)。在GeoEast系统集成环境下,该模块MIC版本运行效率是原版本的3.8倍。MIC版本的程序与CPU程序代码完全兼容,因此移植相对比较简单,对程序进行CPU多线程的优化仍然适用于MIC版本程序,而MIC指导语句的使用也简化了程序在MIC上的移植,使程序员更容易掌握,也更容易维护。我们正致力于将更多的计算密集型应用移植到Xeon Phi协处理器上,本书丰富的内容将为我们进行程序的移植提供很好的参考。 ——陈维,东方地球物理公司研发中心副总工程师 Intel的Xeon Phi协处理器为高性能计算领域带来了全新的MIC众核加速解决方案,也给应用优化带来了新的挑战。在ASC超算竞赛中,大学生们的MIC应用优化实践证明了该技术是容易被学习掌握的,并且确实能够给适合的应用带来出色的加速性能。本书详细介绍了高性能程序中应用MIC编程的方法,是非常好的MIC编程参考工具书,我相信读者能够从此书中学习领会到MIC众核编程的精妙之处,从而将该技术应用到科学和工程计算领域,推动中国的高性能计算应用发展。 ——刘军,浪潮集团高性能计算总经理 众核体系结构将成为未来主流的处理器体系结构,而以天河2号超级计算机为代表的国际顶级机构已经开始大规模使用Xeon Phi来构建系统。如何高效地使用众核处理器编程,进而针对体系结构的特点进行应用优化,本书给出了很好的指导。通过本书的学习,读者可以更好地掌握指令并行、向量化和多核编程特性,在多个层次上采用并行思维,以更好地适应未来体系结构的变化。请跟本书作者一起去发现并行之美吧。 ——卢宇彤,中国国防科技大学教授 Reinders和Jeffers共同完成了该著作,其内容不仅仅是关于Intel Xeon Phi协处理器的。本书是对如何发挥先进架构性能潜力的一次全面概述,包括当前的多核处理器和众核协处理器。作者针对应用程序通常低于理论性能的原因给出了强有力的剖析,同时为应用程序开发人员提供了缩小性能差距的方法。我将推荐所有的员工去阅读此书。 ——James A. Ang,美国桑迪亚国家实验室超大规模计算高级经理

图书目录

第1章绪论 1.1更加并行化 1.2为什么需要IntelXeonPhi协处理器 1.3协处理器平台 1.4第一款IntelXeonPhi协处理器 1.5控制“Ninja鸿沟”于一定范围 1.6移植与优化的双重优势 1.7何时使用IntelXeonPhi协处理器 1.8实现处理器性能最优 1.9为何扩展超过100个线程如此重要 1.10最大化并行程序性能 1.11评估高度并行执行的能力 1.12对于GPU是怎么样的 1.13易于移植,也易于提升性能 1.14性能移植 1.15超线程与多线程 1.16协处理器主要使用模型:MPI和Offload 1.17编译器和编程模型 1.18缓存优化 1.19案例和细节 1.20更多信息 第2章高性能封闭追踪测试驱动 2.1揭开引擎盖:协处理器详解 2.2发动汽车:与协处理器沟通 2.3轻松上路:首次运行代码 2.4开始加速:多线程运行代码 2.5全速行驶:使用所有核心 2.6轻松过弯:访存带宽 2.7高速漂移:内存带宽最大化 2.8总结 第3章一场乡间公路友谊赛 3.1赛前准备:本章重点 3.2初识赛道:9点模板算法 3.3起跑线上:9点模板基准程序 3.4路在前方:运行基准模板代码 3.5石子路上:向量化而未扩展 3.6全力比赛:向量化加上规模扩展 3.7扳手和润滑油:代码微调 3.7.1基准校正 3.7.2使用流存储 3.7.3使用2MB大型存储页 3.8总结 3.9更多信息 第4章都市畅游:实际代码优化案例 4.1选择方向:基本的扩散算法 4.2到达路口:计算边界效应 4.3寻找林荫大道:代码扩展化 4.4雷霆之路:保证向量化 4.5剥离:从最内层循环开始 4.6尝试辛烷含量更高的燃料:利用数据局部性与切片分块提升速度 4.7高速驾驶认证:高速旅行的总结 第5章大数据(向量) 5.1为什么向量化 5.2如何向量化 5.3实现向量化的五种方法 5.4六步向量化方法论 5.5通过Cache流:布局、对齐、预取数据 5.5.1为什么数据布局影响向量化性能 5.5.2数据校准 5.5.3预取 5.5.4流存储 5.6编译器技巧 5.6.1避免手动展开循环 5.6.2循环向量化的要求(英特尔编译器) 5.6.3内联的重要性,简单性能分析的干扰 5.7编译器选项 5.8编译器指导指令 5.8.1SIMD指令 5.8.2VECTOR与NOVECTOR指令 5.8.3IVDEP指令 5.8.4随机数函数向量化 5.8.5充分向量化 5.8.6—opt—assume—safe—padding选项 5.8.7数据对齐 5.8.8在数组表示法(ArrayNotation)中权衡向量长度 5.9使用数组段(ArraySection)支持向量化 5.9.1Fortran数组段 5.9.2CilkPlus数组段和元素函数 5.10查看编译器生成:汇编代码检测 5.10.1如何找到汇编代码 5.10.2快速查看汇编代码 5.11向量化数值结果差异 5.12总结 5.13更多信息 第6章多任务(非多线程) 6.1OpenMP、Fortran2008、IntelTBB、IntelCilkPlus、IntelMKL 6.1.1需在协处理器上创建任务 6.1.2线程池的重要性 6.2OpenMP 6.2.1并行处理模型 6.2.2指导性语句 6.2.3OpenMP上的有效控制 6.2.4嵌套 6.3Fortran2008 6.3.1DOCONCURRENT 6.3.2DOCONCURRENT以及数据竞争 6.3.3DOCONCURRENT定义 6.3.4DOCONCURRENT对比FORALL 6.3.5DOCONCURRENT对比OpenMP“Parallel” 6.4IntelTBB 6.4.1发展历史 6.4.2使用TBB 6.4.3parallel_for 6.4.4blocked_range 6.4.5Partitioners 6.4.6Parallel_reduce 6.4.7Parallel_invoke 6.4.8C++11相关 6.4.9TBB总结 6.5CilkPlus 6.5.1发展历史 6.5.2从TBB借用组件 6.5.3向TBB提供组件 6.5.4关键字拼写 6.5.5cilk_for 6.5.6cilk_spawn与cilk_sync 6.5.7Reducers(超对象) 6.5.8数组表示法与基本函数 6.5.9CilkPlus总结 6.6总结 6.7更多信息 …… 第7章分载(Offload) 第8章协处理器架构 第9章协处理器系统软件 第10章协处理器的Linux系统 第11章数学库 第12章MPI 第13章采样和计时 第14章总结 术语表