AI简介
这是一本深度解析并行计算领域的重要著作,详细阐述了如何通过并行算法设计实现单核/多核代码、GPU和处理器的性能优化与并行化秘技。本书以深入浅出的方式,结合大量示例和伪代码,全面讲解了指令级并行与多核技术,进程线程概念及多核影响,利用硬件全部计算能力等现代处理器特性,并首次提出了实现复杂度的全新度量标准。
书中首先介绍了算法性能度量标准,包括时间复杂度、空间复杂度和实现复杂度,并详细阐述了常见的程序性能分析工具,如Intel VTune、perf和gprof等。接着,作者深入探讨了系统级别性能优化方法和应用级别性能优化方法,包括编译器选项、调用高性能库、去掉全局变量和条件编译等。此外,本书还详细介绍了函数级别性能优化方法,如减少函数调用参数传递的开销和内联小函数等。
在讨论并行编程模型及环境时,作者详细阐述了常见的并行编程模型,如指令级并行、向量化并行、线程级并行等,并介绍了常见的并行编程环境,如MPI、OpenMP、fork/pthread、CUDA、OpenCL等。此外,本书还深入讨论了并行算法设计方法,包括划分、通信、结果归并和负载均衡等。
书中还详细分析了并行算法缺陷,如启