国内并行计算领域知名专家风辰多年实践经验总结,兼具深度和高度
简洁明了,辅以大量示例,全面介绍主流硬件平台上的向量化库,并行编程语言的设计细节,OpenCL程序在硬件平台的映射与执行,并给出多个性能优化实战案例
近两三年来,在互联网企业中,代码优化、并行计算和GPU的使用越来越受到重视。无论是国外的Google、Facebook还是国内的百度、腾讯、阿里和360,都在使用代码优化、并行计算和GPU来完成以前不能完成的任务。而现在中小型企业也在使用代码优化和并行化技术来提升产品的使用体验。对于软件开发人员来说,如果不掌握并行计算和代码性能优化技术,在不久的将来就会被淘汰。
《高性能计算技术丛书:并行编程方法与优化实践》不但涵盖主流的现代多核处理器平台架构、并行指令集和编译制导语句,还介绍了常见并行程序设计语言、图像处理和线性代数算法的代码性能优化,OpenCL程序如何在AMD、GCN、GPU和NVIDIA GPU上的编程执行,以及CUDA和OpenCL在GPU上的执行区别等。
笔者基于自身丰富的理论和实践经验,将大量“不传之秘”融入本书,主要体现在:
深入剖析了SSE/AVX和NEON指令集、OpenMP编译制导语句、基于GPU的异构并行计算环境(OpenCL、CUDA和OpenACC),并辅以细节丰富的简单示例。
简洁明了地展现了如何在不同的现代处理器上执行OpenCL程序及执行的区别,通过了解这些区别,读者能够编写出在各个处理器上性能良好的程序。
详细描述了如何在X86、ARM、AMD和NVIDIA GPU上实现、优化代码的性能,让读者能够很好地评估在不同处理器上实现性能良好的程序需要的考量
《高性能计算技术丛书:并行编程方法与优化实践》是“并行计算与性能优化”系列的第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等向量化扩展和并行语言来优化图像处理、线性代数应用的性能。