第一图书网

多核架构与编程技术

武汉大学多核架构与编程技术课程组 武汉大学出版社
出版时间:

1970-1  

出版社:

武汉大学出版社  

作者:

武汉大学多核架构与编程技术课程组  

页数:

211  

Tag标签:

无  

前言

随着处理器技术的迅猛发展,Inter、AMD、IBM和Sun等知名厂商纷纷推出了在单片芯片上集成多个执行核的微处理器产品。目前,无论是桌面应用、移动应用、服务器还是嵌入式平台,都开始广泛采用多核架构,现代计算平台已全面进入多核时代。微处理器的发展进一步促进了并行计算的发展与普及,同时为软件开发人员提供了新的机遇和挑战。以前,软件开发人员很少关心程序的并行化问题,因为在单核计算机平台上,程序只能并发执行,而非真正地并行执行,并行程序与串行程序无明显差异。而在多核计算机平台上,平行程序与串行程序性能差异明显。因此,在多核计算平台上设计多核程序,对于程序性能的提升显得尤为重要。掌握多核架构知识与具备多核程序设计能力已成为程序开发人员必备的素质之一。程序设计一直是高等院校各专业的一门重要的基础课程,开设与多核架构与编程开发相关的课程不仅是时代的需求,也是培养高素质复合人才的需要。目前,大多数与多核程序设计相关的教材是面向计算机专业的,这些教材很少涉及与电子信息处理领域直接相关的问题,对于非计算机专业的学生而言,缺少足够的面向专业的多核编程指导。因此,编写适用于非计算机专业的,尤其是针对电子信息专业的多核编程教材已是广泛而迫切的现实需求。本书第l章介绍了微处理器和并行计算机的发展历程与趋势;第2章主要介绍了多核处理器的架构与并行计算的模型;第3章详细介绍了多线程编程的基础和基本方法;第4章详细介绍了OpenMP程序设计技术;第5章介绍了如何运用专业的多核工具来调试和优化多核程序;第6章详细介绍了Intel高性能集成基元开发库的编程方法及其在信号处理中的应用;第7章介绍了一些典型的专业化多核应用开发平台,包括面向计算机视觉的多核编程工具OpenCV、MATLAB并行开发工具包和面向检测自动化的专业化软件LabView的多核编程工具等。全书既涉及多核的硬件知识,又涉及多核的软件知识;既注重通用编程,又强调与专业化编程相结合。实用化和专业化是本书的宗旨。本书可作为高等院校信息技术相关专业的本科生和研究生教材,也可供相关领域的科研人员和工程技术人员参考。本书的出版是团队协作努力的结果。在此,对为本书的编写付出辛勤劳动的人们致以特别感谢。本书第1章主要由谢银波和杨建峰编写,第2章主要由饶云华编写,第3、4章主要由孙涛编写,第5章主要由谢银波编写,第6章主要由李立编写,第7章主要由郑宏编写。周建国参与了本书部分材料的收集和整理工作。全书由郑宏整理定稿。武汉大学出版社王金龙和胡艳等同志为本书的出版做了大量工作。

内容概要

  《多核架构与编程技术》涉及多核硬件和软件技术,主要包括多核体系架构及其并行编程技术。《多核架构与编程技术》从硬件架构人手,介绍了多核处理器、多核支持芯片组和相关操作系统的发展历程与趋势。《多核架构与编程技术》侧重论述了多核并行程序设计的基础理论和技术,详细介绍了多线程程序设计方法与常用的并行程序开发工具OpenMP,并结合Intel提供的软件调优工具介绍了多核程序设计的优化方法。此外,还详细介绍了一些典型的专业化多核应用开发平台,包括Intel高性能集成基元开发库(IPP)、面向计算机视觉的多核编程工具OpenCV、MATLAB并行开发工具包和面向检测自动化的专业化软件LabView的多核编程工具等。  《多核架构与编程技术》是高等院校信息类专业高年级本科生或低年级研究生的教科书,同时也可供相关领域的科研人员和工程技术人员参考。

书籍目录

第1章 导论1.1 微处理器1.1.1 单核处理器1.1.2 多核处理器1.1.3 未来处理器的发展趋势1.2 并行计算平台1.2.1 并行计算机的发展历程1.2.2 并行计算机系统的体系结构1.2.3 并行计算机系统的性能指标第2章 多核处理器架构与并行计算2.1 单芯片多核处理器构架2.1.1 多核芯片与处理器2.1.2 多核单芯片架构2.1.3 主流多核架构2.1.4 多核架构性能问题2.2 多核处理器及其外围芯片组2.2.1 CPU外围的主板芯片组2.2.2 嵌入式软件2.2.3 EFI软件对多核芯片的支持2.3 多核处理器的并行计算模型2.3.1 微处理器中的并行计算2.3.2 SIMD同步并行计算模型2.3.3 MIMD异步并行计算模型2.3.4 并行程序设计模型第3章 多线程编程基础3.1 多线程概念3.1.1 何谓多线程3.1.2 用户线程与内核线程3.2 多线程模型与层次3.2.1 多对一模型3.2.2 一对一模型3.2.3 多对多模型3.2.4 多线程的层次3.3 Window8多线程编程基础知识3.3.1 基础知识3.3.2 例程3.4 多线程的同步及其编程3.4.1 临界区同步3.4.2 互斥量同步3.4.3 信号量同步3.4.4 事件同步3.4.5 死锁问题第4章 OpenMP多线程编程4.1 OpenMP编程简介4.1.1 OpenMP及其特点简介4.1.2 OpenMP发展历史4.2 OpenMP编程基础4.2.1 OpenMP体系结构4.2.2 fork.join并行模型4.2.3 OpenMP编程4.2.4 OpenMP指令库4.2.5 指导语句作用域4.2.6 主要编译指导语句4.3 OpenMP编程实例及分析4.3.1 OpenMP编程环境变量4.3.2 常用指导语句用法4.3.3 OpenMP实例分析比较第5章 多核程序调试与性能优化5.1 IntelC++编译器5.1.1 IntelC++编译器简介5.1.2 InteC++编译器的调用5.1.3 使用IntelC++编译器优化应用程序5.2 IntelVTune性能分析器5.2.1 IntelVTune性能分析器简介5.2.2 IntelVTune性能分析器的使用5.2.3 利用VTune性能分析器优化分析应用程序性能5.3 线程检测器5.3.1 线程检测器简介5.3.2 线程检测器的使用5.3.3 使用线程检测器查找应用程序的潜在问题5.4 线程档案器5.4.1 线程档案器简介5.4.2 线程档案器的使用5.4.3 线程档案器优化应用程序性能第6章 高性能多核编程——IPP程序设计6.1 IPP简介与使用6.1.1 什么是IntelIPP6.1.2 IPP与Intel其他组件的关系6.1.3 IPP的安装6.2 IPP编程技术基础6.2.1 架构与接口6.2.2 IPP基本编程方法6.3 IPP编程实例6.3.1 基于IPP的数字信号处理编程6.3.2 基于IPP的数字图像处理编程第7章 面向应用的多核编程工具7.1 面向计算机视觉的多核编程工具——OpenCV7.1.1 OpencV的主要特点7.1.2 OpenCV的主要功能7.1.3 OpenCV的体系结构7.1.4 基于OpencV的应用程序的开发步骤与示例7.2 面向检测自动化的多核编程工具——LabView8.5 7.2.1 LabView8.5 简介7.2.2 LabView多核编程示例7.2.3 LabView多核应用示例7.3 面向科学计算的多核编程工具——MATLAB分布式计算工具包7.3.1 MATLAB分布式计算工具包简介7.3.2 分布式计算工具包的主要功能7.3.3 分布式计算工具包的基本编程附录 Visual Studio配置说明参考文献

章节摘录

插图:④低功耗:它可以将多个任务分给多个核去做,也可以将一个任务分给多个核去做,这样虽然对于单核和多核来说总任务量是一样的,但是多核CPU在处理任务的时候,每个核都只是完成总任务的一小部分,所以占用每个核的使用率很低,这样使得每个核的发热量都很小。1.1.3 未来处理器的发展趋势应用需求的不断提高是计算机发展的根本动力,Internet的应用、P2P和普适计算的应用都促使计算机性能不断提升,多核技术已经成为微处理器技术的重要技术支点。大型企业的:ERP、CRM等复杂应用,科学计算、政府的大型数据库管理系统、数字医疗、电信、金融等领域都需要高性能计算,都需要多核技术乃至多核微处理器的支持。无疑,未来将是多核微处理器的时代。多核CPU在设计上将更为灵活,它已不局限于双核的对称(即同构)设计,缓存单元与任务分配更合理,核心间通信更快捷,这些特性决定了它在芯片设计方面,对称和非对称(即同构和异构结构)将成为两大发展方向。按计算内核的对等与否,片上多核处理器(CMP,chip multi-processor)可分为同构多核和异构多核。计算内核相同、地位对等的称为同构多核,Intel公司和AMD公司现在主推的双核处理器,就是同构的双核处理器。很早以前就有专家指出,同构多核具有局限性,即使增加集成CPU内核的数量,根据用途不同,有时并不能相应地提高性能。这就是所谓的“Amdahl定律”。Amdahl定律的看法是,即使通过增加同种CPU内核数量,具备并行处理能力,但处理量(处理成果)存在着来自必须逐次执行软件的限制。计算内核不同、地位不对等的称为异构多核。异构多核多采用“主处理核+协处理核”的设计,IBM、索尼和东芝等公司联手设计推出的Cell处理器正是这种异构架构的典范。处理核本身的结构关系到整个芯片的面积、功耗和性能。怎样继承和发展传统处理器的成果,直接影响多核的性能和实现周期。同时,根据Amdahl定律,程序的加速比决定于串行部分的性能,所以,从理论上来看,似乎异构微处理器的结构具有更好的性能。目前,图形芯片具有的浮点运算性能已经大大超越了处理器。如果能够灵活运用,随着图形芯片的发展,将会涌现出各种各样新的应用。在占据:PC及服务器主流地位的x86处理器中,围绕GPU(图形处理单元)展开的相关研发工作已成为一大热点。从电脑出现直到20世纪90年代,显示器上的画面都是2D的,无论是一个汉字还是一张图片。早期显卡只是一个命令执行者,一切都需要听CPU的,其充当的角色仅仅是CPu的助手。但是,随着3D渲染概念的出现,CPU和显卡之间的关系就出现了变化。由于早期的显卡只能处理2D图像,并不知道如何进行3D图形处理,因此CPU不得不将3D渲染指令编译成显卡能识别的2D指令,长此以往,CPU整天疲于为显卡进行指导工作,抽不出时间来干本职工作,而导致工作效率低下,于是显示卡商们决定给显卡加上3D处理能力。自从拥有3D处理能力,显卡在计算机系统的作用已经从过去不显眼的角色上升到比较重要的位置,辅助并分担此前由CPU来执行的3D图形加速方面的大量计算。


编辑推荐

《多核架构与编程技术》是高等院校信息类专业高年级本科生或低年级研究生的教科书,同时也可供相关领域的科研人员和工程技术人员参考。

图书封面

图书标签Tags

广告

下载页面


多核架构与编程技术 PDF格式下载



书的内容应该没问题,但装订质量好差


书的纸张质量很差,能看到第二页的字,送过来的光盘在笔记本光驱里读不出来。


还可以,速度也比较快,亚马逊来说这是很不错的服务了


相关图书