论文部分内容阅读
GPU是强大的并行处理器,CPU是强劲的串行处理器,那么CPU和GPU如果各取所长,联合在一起的话,是不是可以发挥最强大的能力呢?AMD在APU推出后,就在全力发展CPU和GPU的异构计算,HAS联盟就是AMD在异构计算上最大的杀招。
异构计算走上舞台
AMD在APU发展渐渐成熟后,除了考虑到CPU和GPU硬件架构上的融合外,在软件层面也开始为APU做出准备。实际上,APU等类似融合产品的软件才是最关键的因素。因为无论硬件性能怎么强大,都需要使用软件才能真正发挥作用,软件才是类似融合设备发展的最大难题。这个市场需要AMD和合作伙伴来给出软件开发架构、各种API和开发环境,并且有持续不断的开发指导,技术发展,最终才能让APU代表的异构计算成为人们生活中不可分割的一部分,才能为AMD以及其合作伙伴带来利润。
这样的话说起来很简单,但是做起来相当困难。目前的APU在硬件上的融合并不深入,软件使用方面更是CPU和GPU分开。AMD的希望是未来的异构计算下的软件,能做到自然的用户界面、更大的显示面积、利用协同交互、云计算等新兴科技带来完全不同的使用体验。相比之下,目前的CPU和GPU计算还是独立的、分开的,没有统一的软件环境和自动调用CPU、GPU的优势来进行程序处理的能力。
为了达到这个目的,AMD和一些厂商成立了HSA,全称是Heterogeneous System Architecture,中文为异构计算联盟。这家联盟的创始人包括了AMD、高通、ARM、三星、德州仪器等厂商,发起者和支持者包括LG、索尼、美满电子、意法爱立信等业界翘楚,此外,HAS联盟还得到了多家大学和研究机构的支持。
高效内存利用 未来更美好
HSA架构目前主要支持的内容包括GPU计算使用C++这样的大众化语言,拥有用户模式调度、完全一致性的CPU和GPU内存、GPU可以通过CPU指针使用页面内存、GPU计算可抢占性以及GPU计算上下文可以切换。尤其是GPU可以使用页面内存、GPU计算可抢占以及GPU上下文切换等,在传统的GPU中是难以实现的,因为需要涉及到很多判断和分支。在HSA中,这样的设计将成为整个系统最重要的内容,最终为CPU和GPU的融合带来更深入、更智能的一面。
目前的AMD已经走完了一些路程,比如在APU上,AMD实现了统一内存寻址。统一内存寻址的优势在于可以使所有的计算单元访问相同的数据,这样一来CPU和GPU的计算就可以交替运行。当然,AMD的希望在于设计一种更为智能的计算架构,不需要人工去指定CPU还是GPU,硬件方面也不用区分CPU模块和GPU模块,任务会根据需求自动使用相关的部件来高效、快速的完成计算,所有的计算任务都可以和谐的工作在一块芯片上。这就是HSA终极目的。
不过仅仅如此显然是不够的。AMD和HSA联盟还需要做大量的工作,比如在驱动层面的支持以及软件环境的支持等。但就现在的情况来看,根据AMD公布的一些数据,HSA在部分特定的任务中,使用APU能够比单独使用CPU和单独使用GPU都表现得更好,特别是性能和功耗上的表现——其实这两者都来源于合理的利用最恰当的组件进行计算。比如将GPU计算更快的任务交由GPU计算就能获得更好的性能功耗比以及速度,因此一旦成功,HSA会在效能和功耗表现上拥有比CPU和GPU单独或者简单联合都好的表现,毕竟CPU和GPU采用的是PCI-E总线,而HSA联盟目前的主要目标APU以及其他异构计算单元都是直接单芯片内连接组建,速度更快,支持更简单。
目前HSA还处于起步阶段,支持的软件也非常稀少,除了一些传统支持GPU加速的软件外,HSA联盟还没有提供特别有特色的软件进行展示和试用。不过从发展的角度来看,HSA联盟无论如何已经走完了第一步,在硬件架构、软件框架上已经搭好了舞台,剩下的就需要依靠AMD以及合作厂商的推广,让HSA成为业内主流被更多用户和厂商所接受了。
异构计算走上舞台
AMD在APU发展渐渐成熟后,除了考虑到CPU和GPU硬件架构上的融合外,在软件层面也开始为APU做出准备。实际上,APU等类似融合产品的软件才是最关键的因素。因为无论硬件性能怎么强大,都需要使用软件才能真正发挥作用,软件才是类似融合设备发展的最大难题。这个市场需要AMD和合作伙伴来给出软件开发架构、各种API和开发环境,并且有持续不断的开发指导,技术发展,最终才能让APU代表的异构计算成为人们生活中不可分割的一部分,才能为AMD以及其合作伙伴带来利润。
这样的话说起来很简单,但是做起来相当困难。目前的APU在硬件上的融合并不深入,软件使用方面更是CPU和GPU分开。AMD的希望是未来的异构计算下的软件,能做到自然的用户界面、更大的显示面积、利用协同交互、云计算等新兴科技带来完全不同的使用体验。相比之下,目前的CPU和GPU计算还是独立的、分开的,没有统一的软件环境和自动调用CPU、GPU的优势来进行程序处理的能力。
为了达到这个目的,AMD和一些厂商成立了HSA,全称是Heterogeneous System Architecture,中文为异构计算联盟。这家联盟的创始人包括了AMD、高通、ARM、三星、德州仪器等厂商,发起者和支持者包括LG、索尼、美满电子、意法爱立信等业界翘楚,此外,HAS联盟还得到了多家大学和研究机构的支持。
高效内存利用 未来更美好
HSA架构目前主要支持的内容包括GPU计算使用C++这样的大众化语言,拥有用户模式调度、完全一致性的CPU和GPU内存、GPU可以通过CPU指针使用页面内存、GPU计算可抢占性以及GPU计算上下文可以切换。尤其是GPU可以使用页面内存、GPU计算可抢占以及GPU上下文切换等,在传统的GPU中是难以实现的,因为需要涉及到很多判断和分支。在HSA中,这样的设计将成为整个系统最重要的内容,最终为CPU和GPU的融合带来更深入、更智能的一面。
目前的AMD已经走完了一些路程,比如在APU上,AMD实现了统一内存寻址。统一内存寻址的优势在于可以使所有的计算单元访问相同的数据,这样一来CPU和GPU的计算就可以交替运行。当然,AMD的希望在于设计一种更为智能的计算架构,不需要人工去指定CPU还是GPU,硬件方面也不用区分CPU模块和GPU模块,任务会根据需求自动使用相关的部件来高效、快速的完成计算,所有的计算任务都可以和谐的工作在一块芯片上。这就是HSA终极目的。
不过仅仅如此显然是不够的。AMD和HSA联盟还需要做大量的工作,比如在驱动层面的支持以及软件环境的支持等。但就现在的情况来看,根据AMD公布的一些数据,HSA在部分特定的任务中,使用APU能够比单独使用CPU和单独使用GPU都表现得更好,特别是性能和功耗上的表现——其实这两者都来源于合理的利用最恰当的组件进行计算。比如将GPU计算更快的任务交由GPU计算就能获得更好的性能功耗比以及速度,因此一旦成功,HSA会在效能和功耗表现上拥有比CPU和GPU单独或者简单联合都好的表现,毕竟CPU和GPU采用的是PCI-E总线,而HSA联盟目前的主要目标APU以及其他异构计算单元都是直接单芯片内连接组建,速度更快,支持更简单。
目前HSA还处于起步阶段,支持的软件也非常稀少,除了一些传统支持GPU加速的软件外,HSA联盟还没有提供特别有特色的软件进行展示和试用。不过从发展的角度来看,HSA联盟无论如何已经走完了第一步,在硬件架构、软件框架上已经搭好了舞台,剩下的就需要依靠AMD以及合作厂商的推广,让HSA成为业内主流被更多用户和厂商所接受了。