基本信息
- 原书名:Heterogeneous System Architecture: A New Compute Platform Infrastructure

内容简介
作译者
Wen-Mei W. Hwu是伊利诺伊大学厄巴纳–香槟分校电气与计算机工程系的Sanders-AMD讲席教授。他的研究兴趣是并行计算的体系结构、实现、编译和算法领域。他是并行计算研究中心的首席科学家,IMPACT研究小组的负责人。他是MulticoreWare公司的联合创始人兼CTO。在研究和教学方面,他获得了ACM SigArch Maurice Wilkes奖、ACM Grace Murray Hopper奖、Tau Beta Pi Daniel C. Drucker杰出学者奖、ISCA影响力论文奖、IEEE计算机协会B.R. Rau奖以及加州大学伯克利分校计算机科学杰出校友奖。他是IEEE和ACM的会士。他主持UIUC CUDA卓越中心的工作,并且是NSF Blue Waters Petascale计算机项目的主要研究人员之一。Hwu博士在加州大学伯克利分校获得计算机科学博士学位。
在撰写本文的时候,Phil Rogers是AMD公司的合伙人,他是异构系统体系结构的首席架构师,也是HSA基金会的总裁。Phil正在将自己的专长引入高效GPU的设计,以便在异构处理器上运行现代应用程序时大幅降低功耗。在1994年加入ATI Technologies后,Phil在DirectX和OpenGL软件的开发中担任越来越重要的职位。自从2000年Radeon系列推出以来,Phil一直致力于开发所有的ATI Radeon GPU。Phil于2006年加入ATI,任职期间在异构计算、APU体系结构和编程模型方面发挥了主导作用。Phil在Marconi雷达系统公司开始了职业生涯,在那里他为先进的雷达系统设计数字信号处理器。Phil在英国伯明翰大学获得电子和电气工程学士学位。
Ben Sander是AMD的高级研究员,是《HSAIL程序员参考手册(0.95版)》的编辑。Ben于1995年加入AMD,曾在CPU和GPU开发团队担任各种技术和管理职务。之前他领导了AMD的CPU性能团队,并深入参与了AMD Opteron处理器的CPU和北桥体系结构的开发。2009年,Ben转而成为GPU软件的个人贡献者,优化了OpenCL的性能和工作负载。Ben由于在CPU和GPU性能体系结构方面的强大背景而担任了AMD异构系统体系结构计划的首席软件架构师。Ben的研究兴趣包括编译器、编程模型(包括Bolt C++模板库)、性能和计算机体系结构。Ben在伊利诺伊大学厄巴纳–香槟分校获得理学硕士学位和理学学士学位。
Tony Tye是AMD的研究员,是《HSAIL程序员参考手册(0.99、1.0和1.1版)》的编辑。Tony于2007年加入AMD,致力于动态二进制优化,自2012年起一直致力于AMD的异构系统体系结构计划。Tony的研究兴趣包括编译器、运行时、调试器、内存模型、编程语言和计算机体系结构。Tony在英国曼彻斯特理工大学获得博士学位。
Yeh-Ching Chung于1983年获得中国台湾中原大学信息工程学士学位,分别于1988年和1992年在美国雪城大学获得计算机和信息科学硕士学位和博士学位。他于1992年加入中国台湾逢甲大学信息工程系任副教授,并于1999年成为正教授,1998年至2001年任该系主任。2002年加入中国台湾“清华大学”计算机系任教授。他的研究兴趣包括并行和分布式处理、云计算和嵌入式系统。他是IEEE计算机协会的高级会员。
Benedict Gaster是西英格兰大学的研究人员,负责高度并行系统的编程模型和系统体系结构。他是OpenCL编程模型的开发人员之一,并共同撰写了两本有关该主题的书籍。他还为HSA的设计做出了贡献,是内存模型部分的主要作者之一。Benedict在诺丁汉大学获得语言设计和类型理论博士学位。
Lee Howes是美国高通公司 GPU体系结构组织的高级工程师。多年来他在AMD和高通公司一直致力于异构计算,最近专注于改善异构内存一致性模型的最新技术。Lee目前担任OpenCL和SYCL标准的编辑。他在伦敦帝国理工学院完成了软件性能优化的博士研究工作,对性能可移植型异构计算的中间表示做了深入研究。
Derek R. Hower是美国高通公司的架构师,负责下一代SOC(片上系统)。 Derek此前曾在AMD工作,开发了异构无竞争内存模型的基础框架。从此,他一直积极地将这个框架整合到HSA内存模型中。Derek在威斯康星大学麦迪逊分校获得计算机科学博士学位。
Wen-Heng(Jack)Chung是MulticoreWare公司的解决方案架构师。他是Kalmar的首席开发人员,这是用于异构设备的开源C++编译器。他在Aplix International公司开始了职业生涯,在那里他为手机和嵌入式系统优化了Java虚拟机,并研制了蓝牙物联网设备。他的研究兴趣包括编译器、嵌入式系统和工业自动化。Wen-Heng在中国台湾交通大学获得计算机科学硕士学位。
I-Jui(Ray)Sung是MulticoreWare公司的解决方案架构师。他是MulticoreWare C++ AMP编译器、MulticoreWare MxPA OpenCL栈和LibreOffice Calc 4.2 GPU加速器的架构师和主要开发人员。他的研究兴趣包括编译器、领域特定语言、编程模型和GPGPU。I-Jui在伊利诺伊大学计算机工程系获得博士学位。
Yi-Hong Lyu是MulticoreWare公司的软件工程师。他是HSA新建/删除操作符的主要开发人员,同时也是Kalmar(HSA的C++编译器)的维护人员。他不仅是LLVM / Clang的用户,也是贡献者。Yi-Hong在中国台湾大学信息管理系获得学士学位。
Yun-Wei Lee是MulticoreWare公司的实习软件开发人员。他是Kalmar的先驱开发人员之一,Kalmar是一款面向开源异构设备的C++编译器。 除了对编译器、计算机安全和编程语言的兴趣之外,Yun-Wei还担任了中国台湾交通大学的登山俱乐部负责人。他在中国台湾交通大学获得计算机科学学士学位。
Juan-Gómez-Luna于2001年获得西班牙塞维利亚大学电信工程学士学位和硕士学位,于2012年获得西班牙科尔多瓦大学计算机科学博士学位。自2005年以来,他一直担任科尔多瓦大学的讲师。他的研究兴趣集中在应用程序(如图像和视频处理)以及GPU和异构系统的并行化和优化上。
Antonio-J. Lázaro-Mu·oz分别于2010年和2011年获得西班牙科尔多瓦大学计算机科学学士学位和硕士学位。他目前是西班牙马拉加大学计算机系的博士研究生。他的研究课题是GPU计算以及异构和离散系统上的任务调度。
José María González-Linares分别于1995年和2000年获得西班牙马拉加大学电信工程学士学位和博士学位。自2002年以来,他一直是马拉加大学的副教授。他在国际杂志和会议上发表了30多篇论文。他的研究兴趣是并行计算、视频和图像处理。
Nicolás Guil于1986年获得西班牙塞维利亚大学物理学学士学位,并于1995年获得西班牙马拉加大学计算机科学博士学位。目前,他是马拉加大学计算机体系结构系的教授。他在国际期刊和会议上发表了60多篇论文。他的研究兴趣是并行计算、视频和图像处理。
Shih-Hao Hung现任中国台湾大学计算机科学与信息工程系副教授。他的研究兴趣包括并行处理、异构计算、软硬件协同设计、性能工具和虚拟原型。Shih-Hao与IBM、AMD、NVIDIA、Oracle和联发科等顶级公司合作,利用异构多核体系结构、GPGPU和FPGA在最新的物联网、云和大数据系统上优化应用性能。他曾在美国加利福尼亚的Sun Microsystem公司从事有关高性能服务器系统的工作(2000~2005年)。他分别于1998年和1994年获得美国密歇根大学安娜堡分校博士学位和硕士学位。 他于1989年毕业于中国台湾大学,并获得电机工程学士学位。
Wei-Chung Hsu现任中国台湾大学计算机科学与信息工程系教授。 他的研究兴趣在于优化编译器、二进制翻译、虚拟机和高性能计算机体系结构。 他曾是Cray Research的计算机架构师、惠普公司的技术负责人,也是美国明尼苏达大学双城分校的教授。 他与NTHU的Chung教授一起开发了一个名为HSAemu的HSA模拟器。Hsu博士在美国威斯康星大学麦迪逊分校获得计算机科学博士学位。
Thomas B. Jablin是MulticoreWare公司的解决方案架构师,他设计解决方案来解决编译器、并行化和GPU的交叉所带来的挑战。他于2006年获得阿默斯特学院计算机科学学士学位,并分别于2008年和2013年获得普林斯顿大学计算机科学硕士学位和博士学位,其相关工作为全自动编译器驱动的GPU并行化。他曾与他人合作撰写了从编译策略到利用GPU自动并行化等领域的论文。他的研究兴趣包括编译器的自动并行化、GPU目标的自动编译以及动态优化剖析。
目录
译者序
推荐序
前言
作者简介
第1章 引言 1
第2章 HSA 概述 5
2.1 GPU计算简史:HSA解决的问题 5
2.2 HSA的支柱 9
2.2.1 HSA内存模型 9
2.2.2 HSA排队模型 9
2.2.3 HSAIL虚拟ISA 10
2.2.4 HSA上下文切换 10
2.3 HSA规范 10
2.3.1 HSA平台系统体系结构规范 10
2.3.2 HSA运行时规范 10
2.3.3 HSA程序员参考手册—HSAIL SPEC 11
2.4 HSA软件 11
2.5 HSA基金会 12
2.6 小结 13
译者序
本书对于从事异构计算的科研工作者来说,无疑是首选的阅读书籍。本书的主要内容包括异构体系结构的概述、规范、指令集、运行、内存模型、排队模型及应用实例等,适合于研究生教学及研究者使用。本书集合了大量学术界和工业界的世界级专家的智慧,不仅汇集了异构体系结构领域的基本原理,而且通过实例阐述了CPU+GPU的协同工作模式,从而激发读者的学习兴趣和研究兴趣。
从本人多年前的多核计算技术研究,发展到现在的异构体系结构领域中高性能和低功耗技术的研究,本书中精辟的论述、大量的案例,给我的教学和科研工作带来了巨大的帮助。本书对正在从事这方面研究的中国学者来说,无疑是一个福音。
在本书的翻译中,我们力求忠实原作。在此特别感谢赵浩炎、宗欢、程妍瑾、常泽清、陈欢欢、汪梦萱等人在本书初稿翻译中协助完成了部分工作。限于译者水平,本书的翻译难免会存在纰漏,恳请广大读者批评指正。
方娟
2018年7月于北京
前言
有许多人做出了未以章节形式展现的重要贡献。我想要感谢的第一个人是Manju Hegde(AMD),他说服我担任本书的主编,在整个过程中他始终是重要的合作伙伴。Manju提供了本书的原始构思,并帮助招募了许多作者和审稿人。他还亲自审查了各章,并提供了宝贵的意见。
本书的内容源自于2013年HotChips和2014年ACM / IEEE国际计算机体系结构研讨会(ISCA)上的会议资料。大多数演讲者成为本书各章的作者。然而,最初介绍HSA排队模型的Chien-Ping Lu(联发科)、Hakan Persson(ARM)和Ian Bratt(ARM)由于时间关系不能参与写作。我还要感谢J. P. Bordes(AMD),他对HSA应用程序部分做出了重大贡献。
我还要特别感谢五位特别的人。HSA首席布道者Greg Stoner(AMD)为HSA基金会创作本书提供了宝贵的支持。Anton Lokhmotov(ARM)和我一起确立了本书的原始大纲。Tom Jablin(MulticoreWare)是HSA方面的专家,他在编辑过程中为我提供了宝贵的技术支持。Marty Johnson(AMD)和Sui Chi Chan(AMD)审读了全书,并为我和其他作者提供了宝贵的反馈意见。
最后,我要感谢担任本书项目经理的Bob Whitecotton(AMD),他确保我和其他作者的写作不离题。他的项目管理技巧使我避免了许多陷阱。没有他的帮助,我将无法完成这个项目。
序言
我们正迎来异构计算时代的曙光。几乎所有的应用程序都是功率受限的,未来所有的计算平台都可能包含异构性。巴塞罗那超级计算中心是异构超级计算的先驱之一。Mt. Blanc项目探索了使用高吞吐量GPU和低功耗CPU来解决与未来超级计算机设计相关的功耗挑战。在整个项目中,我们遇到了许多异构系统体系结构(HSA)设计要解决的问题。
本书解释了HSA如何解决这些问题。对于这样的问题,需要使用专门的接口来编程Mt. Blanc系统中的GPU。我很高兴HSA功能为主机和GPU开发了一个标准的C++编译器。而且,我预计未来还会有其他主流语言(如FORTRAN)在HSA系统上出现。这将允许程序员使用标准语言对异构计算系统中的所有计算设备进行编程,从而大大降低软件成本。另一个具有挑战性的问题是缺乏平台范围的同步支持来协调多个计算设备的协作活动。我很高兴地看到案例研究显示了一些经常使用的计算模式可以从CPU和GPU之间的协作执行中受益,而HSA平台的原子功能使得这种协作执行成为可能。
本书由创建HSA体系结构和软件栈的专家撰写。他们的著作为HSA的各个方面提供了历史背景和理论基础。这样的见解对于研究生、软件开发人员和系统实施者来说是非常有价值的。事实上,这本书的出版标志了异构计算的重要里程碑。
Mateo Valero
巴塞罗那超级计算中心主任
2015年9月
媒体评论
——Mateo Valero,巴塞罗那超级计算中心主任
本书由HSA及其软件栈的创建者联合撰写。作者团队中既有来自AMD、MulticoreWare、高通等公司的技术专家,也有来自美国伊利诺伊大学和东北大学等高校的资深学者。
书中简明且清晰地呈现了HSA的基本原理和核心技术,讨论了这一全新计算平台基础设施的设计权衡和创新,并分析了利用HSA提升程序性能的实践案例。这些知识是很难通过阅读规范手册和软件文档而轻松获得的,因而本书特别适合业界的软件开发人员、研究人员和学生阅读,以期共同推进异构计算系统的设计与实现。