搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
多核架构与编程技术
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787307074521
  • 作      者:
    武汉大学多核架构与编程技术课程组编著
  • 出 版 社 :
    武汉大学出版社
  • 出版日期:
    2010
收藏
编辑推荐
  多核处理器的问世引发了计算机领域计算方式的一场革命,也给软件产业带来了更大的挑战。基于多核处理器的并行编程已成为程序开发人员必须掌握的技术。《多核架构与编程技术》旨在帮助软件开发人员理解已有的Intel多核体系结构,并能编写出高性能的并行代码。书中不仅介绍了基本的多线程开发技术,而且还引入了最新的面向应用的专业化多核开发工具,有助于读者快速编写实用的并行程序。《多核架构与编程技术》既适用于大专院校信息类相关专业的师生,也适用于各类软件开发人员。
展开
内容介绍
  《多核架构与编程技术》涉及多核硬件和软件技术,主要包括多核体系架构及其并行编程技术。《多核架构与编程技术》从硬件架构人手,介绍了多核处理器、多核支持芯片组和相关操作系统的发展历程与趋势。《多核架构与编程技术》侧重论述了多核并行程序设计的基础理论和技术,详细介绍了多线程程序设计方法与常用的并行程序开发工具OpenMP,并结合Intel提供的软件调优工具介绍了多核程序设计的优化方法。此外,还详细介绍了一些典型的专业化多核应用开发平台,包括Intel高性能集成基元开发库(IPP)、面向计算机视觉的多核编程工具OpenCV、MATLAB并行开发工具包和面向检测自动化的专业化软件LabView的多核编程工具等。
  《多核架构与编程技术》是高等院校信息类专业高年级本科生或低年级研究生的教科书,同时也可供相关领域的科研人员和工程技术人员参考。
展开
精彩书摘
  ④低功耗:它可以将多个任务分给多个核去做,也可以将一个任务分给多个核去做,这样虽然对于单核和多核来说总任务量是一样的,但是多核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图形加速方面的大量计算。
展开
目录
第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 什么是IntelIPP
6.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 面向计算机视觉的多核编程工具——OpenCV
7.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配置说明
参考文献
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证