高性能计算技术丛书:并行编程方法与优化实践

高性能计算技术丛书:并行编程方法与优化实践
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2015-06
版次: 1
ISBN: 9787111501947
定价: 59.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 216页
正文语种: 简体中文
  •   《高性能计算技术丛书:并行编程方法与优化实践》是“并行计算与性能优化”系列的第2本,主要讲解了如何利用主流的C语言向量化扩展和并行库在X86 、ARM和GPU平台上向量化代码,使软件开发人员跳出烦琐的Intel和ARM参考资料(通常无示例),了解其概要。第1本和第3本则涵盖了并行优化和并行计算相关的理论、算法设计及高层次的实践经验,以及科学计算与企业级应用的并行优化等重要主题,这些内容被许多顶级开发人员视为“不传之秘”。本书作者是国内顶尖的并行计算专家,曾任英伟达并行计算工程师和百度在线高级研发工程师,在该领域的经验和修为极为深厚,他毫不吝啬地将自己多年的积累呈现在了这3本书中,得到了百度深度学习研究院“杰出科学家”吴韧的高度评价和强烈推荐。  《高性能计算技术丛书:并行编程方法与优化实践》8章,逻辑上分为四大部分:  代码向量化优化  本部分主要介绍常见的C语言的向量化库,主要是X86平台和ARM平台的向量化扩展,如Intel SSE/AVX指令集和ARM NEON指令集。  并行程序设计语言  本部分主要介绍目前主流的并行程序设计语言OpenMP、CUDA、OpenCL及OpenACC的并行编程语言或扩展的细节。  主流的并行硬件平台的平台映射  本部分主要介绍Intel Haswell、ARM A15、AMD GCN GPU和NVIDIA Kepler/Maxwell GPU的架构及OpenCL程序如何在这些硬件上执行并行程序的映射。  常见简单应用的向量化和并行化  本部分主要介绍如何使用SSE/AVX、ARM NEON、OpenMP和CUDA等向量化扩展和并行语言来优化图像处理、线性代数应用的性能。   刘文志,花名风辰,毕业于中国科学院研究生院,闻名于并行计算江湖,尤善异构并行计算(X86、ARM、GPU、APU、PHI)和大规模集群计算相关技术,有7年相关经验,涉及图像处理、计算机视觉、数据挖掘和石油勘探。曾任英伟达并行计算工程师(协助建立英伟达北京CUDA团队)、百度在线高级研发工程师(协助建立百度深度学习实验室异构计算团队)。 前言
    第1章X86SSE/AVX指令集
    1.1SSE内置函数
    1.1.1算术运算
    1.1.2逻辑运算
    1.1.3比较
    1.1.4加载和存储
    1.2AVX内置函数
    1.2.1算术运算
    1.2.2逻辑运算
    1.2.3比较
    1.2.4加载和存储
    1.3优化实例及分析
    1.3.1如何测得CPU的浮点峰值性能
    1.3.2积分计算圆周率π
    1.3.3稀疏矩阵向量乘法
    1.3.4二维单通道图像离散卷积
    1.4本章小结

    第2章ARMNEONSIMD指令优化
    2.1NEON指令集综述
    2.2ARMA15处理器性能
    2.3NEON支持的操作
    2.3.1基本算术运算
    2.3.2基本比较运算
    2.3.3基本数据类型转换及舍入运算
    2.3.4基本位运算
    2.3.5基本逻辑运算
    2.3.6基本设置加载存储操作
    2.3.7特殊操作
    2.4应用实例
    2.4.1彩色图像转灰度图像
    2.4.2矩阵转置
    2.4.3矩阵乘
    2.5本章小结

    第3章OpenMP程序设计
    3.1OpenMP编程模型
    3.1.1OpenMP执行模型
    3.1.2OpenMP存储器模型
    3.2环境变量
    3.3函数
    3.3.1普通函数
    3.3.2锁函数
    3.4OpenMP编译制导语句
    3.4.1常用的OpenMP构造
    3.4.2常用的OpenMP子句
    3.5OpenMP异构并行计算
    3.6OpenMP程序优化
    3.6.1OpenMP程序优化准则
    3.6.2OpenMP并行优化实例
    3.7本章小结

    第4章基于GPU的异构并行计算环境:CUDA与OpenCL
    4.1GPU计算概述
    4.1.1GPU计算历史
    4.1.2CUDA概述
    4.1.3OpenCL概述
    4.2异构并行计算模型
    4.2.1平台模型
    4.2.2执行模型
    4.2.3存储器模型
    4.2.4编程模型
    4.3C语言接口
    4.3.1OpenCLC语言
    4.3.2CUDAC语言
    4.4基于GPU的异构并行计算性能优化
    4.4.1总体优化准则
    4.4.2全局存储器优化
    4.4.3合并访问
    4.4.4局部存储器
    4.4.5存储体冲突
    4.4.6常量存储器优化
    4.4.7CUDA纹理存储器优化
    4.4.8寄存器及私有存储器优化
    4.4.9工作组数目及大小
    4.4.10占用率
    4.4.11指令优化
    4.4.12分支优化
    4.4.13数据传输优化
    4.5GPU与CPU精度差别
    4.6矩阵转置
    4.6.1初次实现
    4.6.2满足合并访问的实现
    4.6.3没有存储体冲突的实现
    4.7矩阵乘法
    4.7.1初次实现
    4.7.2矩阵分块实现
    4.8本章小结

    第5章OpenACC
    5.1OpenACC编程模型
    5.1.1执行模型
    5.1.2存储器模型
    5.2编译制导语句
    5.2.1kernels构造
    5.2.2parallel构造
    5.2.3线程配置相关子句
    5.2.4data构造
    5.2.5loop构造
    5.2.6atomic构造
    5.2.7dtype子句
    5.2.8reduction子句
    5.2.9变量可见性子句
    5.2.10if子句
    5.2.11async和wait
    5.3OpenACC和CUDA协作
    5.3.1CUDA使用OpenACC生产的数据
    5.3.2OpenACC使用CUDA生产的数据
    5.4两小时性能提升10倍
    5.5本章小结

    第6章多核向量处理器架构及OpenCL程序映射
    6.1多核向量处理器架构
    6.1.1IntelHaswellCPU架构
    6.1.2ARMA15多核向量处理器架构
    6.1.3AMDGCNGPU架构
    6.1.4NVIDIAKepler和MaxwellGPU架构
    6.2OpenCL程序在多核向量处理器上的映射
    6.2.1OpenCL程序在多核向量CPU上的映射
    6.2.2OpenCL程序在NVIDIAGPU上的映射
    6.2.3OpenCL程序在AMDGCN上的映射
    6.3本章小结

    第7章利用多种技术优化图像处理中的算法性能
    7.1图像滤波
    7.1.1均值滤波
    7.1.2中值滤波
    7.2图像直方图
    7.2.1OpenMP实现
    7.2.2CUDA实现
    7.3曼德勃罗集
    7.3.1串行算法
    7.3.2不适合进行向量化
    7.3.3OpenMP实现
    7.3.4CUDA实现
    7.4本章小结

    第8章利用多种技术优化线性代数中的算法性能
    8.1两向量距离
    8.1.1串行代码
    8.1.2循环展开代码
    8.1.3AVX指令加速
    8.1.4NEON实现
    8.1.5CUDA实现
    8.2稠密矩阵与向量乘法
    8.2.1串行算法
    8.2.2AVX指令加速
    8.2.3NEON实现
    8.2.4CUDA实现
    8.2.5OpenMP实现
    8.3本章小结
  • 内容简介:
      《高性能计算技术丛书:并行编程方法与优化实践》是“并行计算与性能优化”系列的第2本,主要讲解了如何利用主流的C语言向量化扩展和并行库在X86 、ARM和GPU平台上向量化代码,使软件开发人员跳出烦琐的Intel和ARM参考资料(通常无示例),了解其概要。第1本和第3本则涵盖了并行优化和并行计算相关的理论、算法设计及高层次的实践经验,以及科学计算与企业级应用的并行优化等重要主题,这些内容被许多顶级开发人员视为“不传之秘”。本书作者是国内顶尖的并行计算专家,曾任英伟达并行计算工程师和百度在线高级研发工程师,在该领域的经验和修为极为深厚,他毫不吝啬地将自己多年的积累呈现在了这3本书中,得到了百度深度学习研究院“杰出科学家”吴韧的高度评价和强烈推荐。  《高性能计算技术丛书:并行编程方法与优化实践》8章,逻辑上分为四大部分:  代码向量化优化  本部分主要介绍常见的C语言的向量化库,主要是X86平台和ARM平台的向量化扩展,如Intel SSE/AVX指令集和ARM NEON指令集。  并行程序设计语言  本部分主要介绍目前主流的并行程序设计语言OpenMP、CUDA、OpenCL及OpenACC的并行编程语言或扩展的细节。  主流的并行硬件平台的平台映射  本部分主要介绍Intel Haswell、ARM A15、AMD GCN GPU和NVIDIA Kepler/Maxwell GPU的架构及OpenCL程序如何在这些硬件上执行并行程序的映射。  常见简单应用的向量化和并行化  本部分主要介绍如何使用SSE/AVX、ARM NEON、OpenMP和CUDA等向量化扩展和并行语言来优化图像处理、线性代数应用的性能。
  • 作者简介:
      刘文志,花名风辰,毕业于中国科学院研究生院,闻名于并行计算江湖,尤善异构并行计算(X86、ARM、GPU、APU、PHI)和大规模集群计算相关技术,有7年相关经验,涉及图像处理、计算机视觉、数据挖掘和石油勘探。曾任英伟达并行计算工程师(协助建立英伟达北京CUDA团队)、百度在线高级研发工程师(协助建立百度深度学习实验室异构计算团队)。
  • 目录:
    前言
    第1章X86SSE/AVX指令集
    1.1SSE内置函数
    1.1.1算术运算
    1.1.2逻辑运算
    1.1.3比较
    1.1.4加载和存储
    1.2AVX内置函数
    1.2.1算术运算
    1.2.2逻辑运算
    1.2.3比较
    1.2.4加载和存储
    1.3优化实例及分析
    1.3.1如何测得CPU的浮点峰值性能
    1.3.2积分计算圆周率π
    1.3.3稀疏矩阵向量乘法
    1.3.4二维单通道图像离散卷积
    1.4本章小结

    第2章ARMNEONSIMD指令优化
    2.1NEON指令集综述
    2.2ARMA15处理器性能
    2.3NEON支持的操作
    2.3.1基本算术运算
    2.3.2基本比较运算
    2.3.3基本数据类型转换及舍入运算
    2.3.4基本位运算
    2.3.5基本逻辑运算
    2.3.6基本设置加载存储操作
    2.3.7特殊操作
    2.4应用实例
    2.4.1彩色图像转灰度图像
    2.4.2矩阵转置
    2.4.3矩阵乘
    2.5本章小结

    第3章OpenMP程序设计
    3.1OpenMP编程模型
    3.1.1OpenMP执行模型
    3.1.2OpenMP存储器模型
    3.2环境变量
    3.3函数
    3.3.1普通函数
    3.3.2锁函数
    3.4OpenMP编译制导语句
    3.4.1常用的OpenMP构造
    3.4.2常用的OpenMP子句
    3.5OpenMP异构并行计算
    3.6OpenMP程序优化
    3.6.1OpenMP程序优化准则
    3.6.2OpenMP并行优化实例
    3.7本章小结

    第4章基于GPU的异构并行计算环境:CUDA与OpenCL
    4.1GPU计算概述
    4.1.1GPU计算历史
    4.1.2CUDA概述
    4.1.3OpenCL概述
    4.2异构并行计算模型
    4.2.1平台模型
    4.2.2执行模型
    4.2.3存储器模型
    4.2.4编程模型
    4.3C语言接口
    4.3.1OpenCLC语言
    4.3.2CUDAC语言
    4.4基于GPU的异构并行计算性能优化
    4.4.1总体优化准则
    4.4.2全局存储器优化
    4.4.3合并访问
    4.4.4局部存储器
    4.4.5存储体冲突
    4.4.6常量存储器优化
    4.4.7CUDA纹理存储器优化
    4.4.8寄存器及私有存储器优化
    4.4.9工作组数目及大小
    4.4.10占用率
    4.4.11指令优化
    4.4.12分支优化
    4.4.13数据传输优化
    4.5GPU与CPU精度差别
    4.6矩阵转置
    4.6.1初次实现
    4.6.2满足合并访问的实现
    4.6.3没有存储体冲突的实现
    4.7矩阵乘法
    4.7.1初次实现
    4.7.2矩阵分块实现
    4.8本章小结

    第5章OpenACC
    5.1OpenACC编程模型
    5.1.1执行模型
    5.1.2存储器模型
    5.2编译制导语句
    5.2.1kernels构造
    5.2.2parallel构造
    5.2.3线程配置相关子句
    5.2.4data构造
    5.2.5loop构造
    5.2.6atomic构造
    5.2.7dtype子句
    5.2.8reduction子句
    5.2.9变量可见性子句
    5.2.10if子句
    5.2.11async和wait
    5.3OpenACC和CUDA协作
    5.3.1CUDA使用OpenACC生产的数据
    5.3.2OpenACC使用CUDA生产的数据
    5.4两小时性能提升10倍
    5.5本章小结

    第6章多核向量处理器架构及OpenCL程序映射
    6.1多核向量处理器架构
    6.1.1IntelHaswellCPU架构
    6.1.2ARMA15多核向量处理器架构
    6.1.3AMDGCNGPU架构
    6.1.4NVIDIAKepler和MaxwellGPU架构
    6.2OpenCL程序在多核向量处理器上的映射
    6.2.1OpenCL程序在多核向量CPU上的映射
    6.2.2OpenCL程序在NVIDIAGPU上的映射
    6.2.3OpenCL程序在AMDGCN上的映射
    6.3本章小结

    第7章利用多种技术优化图像处理中的算法性能
    7.1图像滤波
    7.1.1均值滤波
    7.1.2中值滤波
    7.2图像直方图
    7.2.1OpenMP实现
    7.2.2CUDA实现
    7.3曼德勃罗集
    7.3.1串行算法
    7.3.2不适合进行向量化
    7.3.3OpenMP实现
    7.3.4CUDA实现
    7.4本章小结

    第8章利用多种技术优化线性代数中的算法性能
    8.1两向量距离
    8.1.1串行代码
    8.1.2循环展开代码
    8.1.3AVX指令加速
    8.1.4NEON实现
    8.1.5CUDA实现
    8.2稠密矩阵与向量乘法
    8.2.1串行算法
    8.2.2AVX指令加速
    8.2.3NEON实现
    8.2.4CUDA实现
    8.2.5OpenMP实现
    8.3本章小结
查看详情
您可能感兴趣 / 更多
高性能计算技术丛书:并行编程方法与优化实践
高性能高分子材料
韦本辉
高性能计算技术丛书:并行编程方法与优化实践
高性能之道: SRE视角下的运维架构实践
王力
高性能计算技术丛书:并行编程方法与优化实践
高性能MySQL(第4版)
[美]Silvia Botros(西尔维亚·博特罗斯;Jeremy Tinley(杰里米·廷利
高性能计算技术丛书:并行编程方法与优化实践
高性能齿轮精密数控加工理论与技术
王时龙;李国龙;曹华军
高性能计算技术丛书:并行编程方法与优化实践
高性能精量排种理论与技术
王金武;唐汉
高性能计算技术丛书:并行编程方法与优化实践
高性能Linux网络编程核心技术揭秘
朱文伟 李建英
高性能计算技术丛书:并行编程方法与优化实践
高性能超标量CPU:微架构剖析与设计
李东声 编著
高性能计算技术丛书:并行编程方法与优化实践
高性能磷酸锰铁锂电池材料——制备、表征与应用
梁广川 主编;王丽 副主编;张克强
高性能计算技术丛书:并行编程方法与优化实践
高性能计算机体系结构
吴迪;卢宇彤;杜云飞;陈志广;胡淼
高性能计算技术丛书:并行编程方法与优化实践
高性能并行运行时系统:设计与实现 [美]迈克尔·克莱姆
[美]迈克尔·克莱姆;[美]吉姆·考尼
高性能计算技术丛书:并行编程方法与优化实践
高性能复合纤维材料混凝土结构设计与施工
江世永;周建庭;飞渭;李炳宏
高性能计算技术丛书:并行编程方法与优化实践
高性能Java系统权威指南
李家智
系列丛书 / 更多
高性能计算技术丛书:并行编程方法与优化实践
高性能高分子材料
韦本辉
高性能计算技术丛书:并行编程方法与优化实践
高性能之道: SRE视角下的运维架构实践
王力
高性能计算技术丛书:并行编程方法与优化实践
高性能MySQL(第4版)
[美]Silvia Botros(西尔维亚·博特罗斯;Jeremy Tinley(杰里米·廷利
高性能计算技术丛书:并行编程方法与优化实践
高性能齿轮精密数控加工理论与技术
王时龙;李国龙;曹华军
高性能计算技术丛书:并行编程方法与优化实践
高性能精量排种理论与技术
王金武;唐汉
高性能计算技术丛书:并行编程方法与优化实践
高性能Linux网络编程核心技术揭秘
朱文伟 李建英
高性能计算技术丛书:并行编程方法与优化实践
高性能超标量CPU:微架构剖析与设计
李东声 编著
高性能计算技术丛书:并行编程方法与优化实践
高性能磷酸锰铁锂电池材料——制备、表征与应用
梁广川 主编;王丽 副主编;张克强
高性能计算技术丛书:并行编程方法与优化实践
高性能计算机体系结构
吴迪;卢宇彤;杜云飞;陈志广;胡淼
高性能计算技术丛书:并行编程方法与优化实践
高性能并行运行时系统:设计与实现 [美]迈克尔·克莱姆
[美]迈克尔·克莱姆;[美]吉姆·考尼
高性能计算技术丛书:并行编程方法与优化实践
高性能复合纤维材料混凝土结构设计与施工
江世永;周建庭;飞渭;李炳宏
高性能计算技术丛书:并行编程方法与优化实践
高性能Java系统权威指南
李家智
相关图书 / 更多
高性能计算技术丛书:并行编程方法与优化实践
高性能高分子材料
韦本辉
高性能计算技术丛书:并行编程方法与优化实践
高性能之道: SRE视角下的运维架构实践
王力
高性能计算技术丛书:并行编程方法与优化实践
高性能MySQL(第4版)
[美]Silvia Botros(西尔维亚·博特罗斯;Jeremy Tinley(杰里米·廷利
高性能计算技术丛书:并行编程方法与优化实践
高性能齿轮精密数控加工理论与技术
王时龙;李国龙;曹华军
高性能计算技术丛书:并行编程方法与优化实践
高性能精量排种理论与技术
王金武;唐汉
高性能计算技术丛书:并行编程方法与优化实践
高性能Linux网络编程核心技术揭秘
朱文伟 李建英
高性能计算技术丛书:并行编程方法与优化实践
高性能超标量CPU:微架构剖析与设计
李东声 编著
高性能计算技术丛书:并行编程方法与优化实践
高性能磷酸锰铁锂电池材料——制备、表征与应用
梁广川 主编;王丽 副主编;张克强
高性能计算技术丛书:并行编程方法与优化实践
高性能计算机体系结构
吴迪;卢宇彤;杜云飞;陈志广;胡淼
高性能计算技术丛书:并行编程方法与优化实践
高性能并行运行时系统:设计与实现 [美]迈克尔·克莱姆
[美]迈克尔·克莱姆;[美]吉姆·考尼
高性能计算技术丛书:并行编程方法与优化实践
高性能复合纤维材料混凝土结构设计与施工
江世永;周建庭;飞渭;李炳宏
高性能计算技术丛书:并行编程方法与优化实践
高性能Java系统权威指南
李家智