推荐阅读的多核编程技术书籍

 

多核编程技术好书推荐

多核程序设计技术——通过软件多线程提升性能 ,

作 者: (孟加拉)阿克特(Akhter,S.),(美)罗伯茨(Roberts,J.) 著,李宝峰,富弘毅,李韬 译

本书从原理、技术、经验和工具等方面为读者提供关于多核程序设计技术的全方位解释。本书由三大部分组成:第一部分包括第1~4章,介绍软件多线程的 内容;第二部分包括第5章和第6章,其中讨论用于编写并行程序的常用编程API:第三部分包括其余五章关于多核程序设计的内容,讲述常见并行程序设计问题 及解决方法(第7章)、多线程应用程序的调试技术(第8章)、单核与多核处理器基本原理(第9、10章)和所需的Inter公司的软件开发辅助工具(第11章)。

本书作者都是长期供职于Inter公司的资深软件工程师和结构师,书中融入了他们自己丰富的软硬件开发经验,可以为面向多核体系 结构进行并行程序设计的开发人员提供巨大的帮助。不论对从未接触过并行程序设计的开发人员,还是转型面向多核体系结构进行并行程序设计的开发人员来讲,本书都是一本难得的参考书。

 

多处理器编程的艺术

作  者:(美)荷里希,(以)谢菲特 著,金海,胡侃 译

工业界称为多核的多处理器机器正迅速地渗入计算的各个领域。多处理器编程要求理解新型计算原理、算法及编程工具,至今很少有人能够精通这门编程艺术。

现今,大多数工程技术人员都是通过艰辛的反复实践.求助有经验的朋友来学习多处理器编程技巧。这本最新的权威著作致力于改变这种状况,作者全面阐述了多处理 器编程的指导原则,介绍了编制高效的多处理器程序所必备的算法技术。了解本书所涵盖的多处理器编程关键问题将使在校学生以及相关技术人员受益匪浅。

 

软件优化技术——IA-32平台的高性能手册(第2版),

作  者: (美)格贝尔(Gerber,R.) 等著,王涛 等译

《软件优化技术——IA-32平台的高性能手册》是Intel出版社最畅销的书籍之一。它填补了软件优化的初级课本与解决专门Intel®架构的高 级手册之间的空白。随着Intel扩展内存64位技术(Intel EM64T)、多核处理技术、超线程技术、OpenMP†和多媒体扩展等新技术的流行,Intel出版社邀请另外三位Intel专家与原作者一起扩展、更 新形成了本书的第2版。 《软件优化技术——IA-32平台的高性能手册》第2版提供了如何优化软件,使软件在Intel平台上获得巨大性能提升的最新技术。通过简单的讲解和示例,四位Intel专家向我们展示了如何从以下一些方面改进软件性能,包括算法、内存访问、分支预测、自动矢量化、SIMD指令、多线程和浮点计算。想了解最新技术以提高应用性能和想提高编码技巧的软件开发者,均可以从本书中受益。

 

Intel Threading Building Blocks编程指南,

作 者: (美)仁达敬(Reinders,J) 著;聂雪军 等译.

多核处理器的出现使得并行编程成为了每个程序员关注的主题。不具备多处理器核的计算机系统已经变得越来越少。本书为c++程序给出了并行编程的解决方案,它既不要求放弃c++,也不要求使用那些裸线程或者本地线程。

本书介绍的是Intel线程构建模块。线程构建模块是一个用来实现并行语义的c++模板库,它对c++进行了扩展,抽象出了线程管理机制并支持简明的并行编 程。在使用这个库时,你所要指定的是任务而不是线程,然后库将高效自动地将这些任务映射到线程上。如果希望程序在处理器核不断增加的情况下也能够继续运行,那么这种方式将带来许多好处。与裸线程相比,线程构建模块能够使你更方便地表达并行语义,同时还能够提高程序的性能,可移植性和可扩展性。在使用本书时,你无需任何并行编程经验或者在多核处理器上的编程经验。无论你是拥有丰富的并行编程经验,还是对并行编程一无所知,本书的内容都将是非常有用的。此外,本书也不要求之前是否对线程有所了解。

 

并行程序设计(第2版)

作 者: (美)威尔金森,(美)阿兰 著,陆鑫达 等译

本书系统介绍并行程序设计原理及应用。除介绍常用的一些算法范例,包括分治、流水、同步计算、主从及工作池,还介绍了一些常用的经典数值和非数值算 法,如排序、矩阵相乘、线性方程组求解、图像处理中的预处理和相应的变换、搜索和优化等。第2版新增了机群计算等使用机群的内容,对如何打造专用和通用的 机群以及设置相应的程序设计环境做了较为详尽的介绍。章后包含大量习题,其中现实生活习题非常实用,既可增强学习兴趣,又可提高并行程序设计技巧。 本书可作为高等院校计算机专业高年级本科生或研究生的教材,对从事高性能计算的科技工作者也是一本很有价值的参考书。

 

并行程序设计原理

作  者:(美)林,(美)斯奈德 著,陆鑫达 等译

出 版 社:机械工业出版社

出版时间:2009-7-1

本书内容新颖,涉及现代并行硬件和软件技术,包括多核体系结构及其并行程序设计技术。本书侧重论述并行程序设计的原理,并论述了并行程序设计中一些深层次问题,如可扩展性、可移植性以及并行程序设计应遵循的方法学等。

 

多核计算与程序设计,

作  者: 周伟明 著

本书是一本专业的多核程序设计方面的著作,覆盖了多核程序设计的各个方面。重点围绕多核(或多处理器)计算机系统的算法和程序这一重心,分五个部分 展开讲述。书中重点剖析了多核编程的核心技术——共享资源分布式编程技术,包括各种设计模式、分布式队列、分布式查找、分布式内存管理、任务图分解与调 度、动态任务调度等。这些技术简单易学,并可以解决锁竞争、负载均衡等多核编程难题,免去学习复杂并行算法之苦。同时,书中讲解了专门针对多核的并行计算 方法,如并行搜索、并行排序、并行数值计算等内容,并包含了对CPU核数扩展性及Cache伪共享等多核相关问题的处理。此外,为便于读者更准确和深入理 解,作者还对多核基本概念和理论、多线程编程基础、OpenMP编程、常用数据结构与算法、Lock-Free编程等基础概念和知识进行了讲解。

 

多任务下的数据结构与算法

作  者:周伟明 著

出 版 社:华中科技大学出版社

出版时间:2006-4-1

 

本书和传统同类书籍的区别是除了介绍基本的数据结构容器如栈、队列、链表、树、二叉树、红黑树、AVL树和图之外,引进了多任务;还介绍了将任意数据结构容器变成支持多任务的方法;另外,还增加了复合数据结构和动态数据结构等新内容的介绍。在复合数据结构中不仅介绍了哈希链表、哈希红黑树、哈希AVL树等容器,还介绍了复合数据结构的通用设计方法;在动态数据结构中主要介绍了动态环形队列、动态等尺寸内存管理算法。在内存管理中介绍了在应用程序层实现的内存垃圾回收算法、内存泄漏检查和内存越界检查的方法等。本书选取的内容均侧重于在实际中有广泛应用的数据结构和算法,有很好的商业使用价值。

你可能感兴趣的:(计算机组成原理)