面向未来计算-异构开发技术社区

异构计算(Heterogeneous Computing)

 

异构计算是指使用一种以上处理器的系统。这种多核心的系统不仅通过增加处理器内核提升性能,还纳入专门的处理能力来应对特定的任务。异构系统架构(HSA)系统即在同一个硅芯片上使用了多种处理器(典型的是CPU和GPU),以提供两全和均衡的方案:利用GPU处理能力:除了完成著名的3D图形渲染能力,也可以在非常巨大的数据集上执行数学密集型计算;而CPU继续运行操作系统和执行传统的串行任务。

截止2010年年底,几乎所有的新款台式电脑都配备了多核处理器,双核甚至四核处理器已成为主流、价格合理的标配计算设备。不过,多核处理也给自身带来了一些挑战。越来越多的核心数量和更大的高速缓存造成处理器尺寸和能耗的进一步提升。

同时,多核时代也见证了GPU的一些有趣的发展。半导体技术的进步带动了GPU精密性和复杂性的增长。 GPU的向量处理能力,使其能够在非常巨大的数据集上执行并行操作——相比在CPU上对类似的数据集进行串行处理,所需功耗低得多。因此,GPU能够做到驱动多种应用的性能提升,如极其逼真、多种显示功能的立体游戏。GPU最初的价值在于从CPU上卸载图形计算任务,从而提升3D图形性能的能力,而目前他们的用途更加具有诱惑力,如:可用于处理数据并行的计算任务。

将GPU用于通用计算,正好与消费文化的显著转变不谋而合。当时,数字内容的可用性和质量得到了极大提升,而且消费者对丰富的视觉体验(如视频播放和观看高清内容)的需求越来越大。与此同时,随着支持先进的多任务的主流操作系统的出现,人们需要处理效率得到全新的大跨度提升。

异构时代:为迎接未来发展开启的舞台

异构计算为CPU和GPU提供了最佳的展示平台,这也就是为何其在推动更快、更强大的处理器设计,从而提供更新、更好的客户体验中扮演必不可少的角色的原因。

多核CPU开发过程中对性能持续改进的需求和可扩展性上的约束带动了半导体、软件和系统设计人员越来越多地依靠GPU的向量处理能力。

向量处理器(如设置于先进的GPU内的向量处理器)拥有多达几千个独立的计算核心,可以同时运行。这使得GPU成为了处理集合了非常大的数据集和密集的数值计算需求的计算任务的理想之选。

(GPU也正经历着迅猛发展,旨在做到少花钱多办事)。但是——这个转折非常重要——向量处理不是永恒的答案。例如,小数据阵列在设立向量处理方面引起的系统开销比节省的时间更有价值。这就是为什么CPU使用的标量方法仍然是解决一些问题和算法的最佳方案。异构计算为CPU和GPU提供了最佳的展示平台,这也就是为何其在推动更快、更强大的处理器设计,从而提供更新、更好的客户体验中扮演必不可少的角色的原因。

异构计算所缔造的各种可能性实在让人为之惊叹——从完美无瑕的高清视频会议,到此前难以想象的显示清晰度,再到实时语言翻译和口译——我们经历着功耗越来越低,外形越来越小,电池寿命越来越长的重大变革。

异构系统利用当今GPU的数据并行性和电源效率迎来了一个新的计算创新时代。该系统可以采取主流的可视化应用程序,并将其提升到新的水平,融入新的像素密集体验,甚至引进难以想象的非视觉功能——直到现在。所以,让我们花点时间来看看GPU继续推动主流计算进步的方方面面。

改善日常体验

您希望笔记本电脑或移动装置的电池续航时间有多长?这得看您在做什么——看长篇电影还是查收邮件——您可能会说三小时左右吧?五小时?有没有想过续航时间一整天?真正的全天无需充电体验。

随着异构计算为小型电脑(像今天的超薄笔记本电脑、上网本和平板电脑)的电池续航能力设置新标准,我们再也不需要随身携带备用电池,或者在机场周围跑来跑去寻找交流电源了,这样的日子已经结束。高清晰度(HD)视频是当今GPU可能改善目前体验的另一个领域。毫无疑问,您肯定体验过高清和标清视频——前者依靠高清设备,而后者依靠非高清的系统。但是如果您怎样从最初并非以高清形式进行捕获的内容上得到高清质量的体验呢?您可以通过硬件加速提升低质量的动态内容,欣赏接近高清质量的标准清晰效果。所以,您就可以在更多的设备上获取电影流,或者在个人电脑上观看高清电视。同样,玩3D游戏时,您将不再需要最高端的个人电脑配置。

今天的GPU可实现超高帧速率,使我们能够在主流(即使是入门级)笔记本电脑上体验逼真、身临其境的3​​D游戏效果。他们也可以很容易、并且很具成本效益地向2D内容(从好莱坞电影,到家庭视频)内添加立体3D的逼真效果。在工作​​中,今天的GPU可以使协作和独立的工作更富有成效。由于支持完美的高清视频会议功能和新形式的虚拟出席,GPU的虚拟会议与实体会议的效果十分逼近。CPU使得此前完全无法实现的可视通信成为现实,比如双向高清视频聊天。他们还能使应用程序在多台显示器上比以往更容易地实现无缝的来回切换,提高桌面生产力——即使在处理图形密集型内容(如PowerPoint演示、产品演示或模拟,与视频)时也是如此。

造就新的像素密集型体验

这些都只是异构计算改变人与计算机长久以来互动关系的某些方面。

拥有全新的体验显然比仅仅把某件事情做得比以前更好显得更为激动人心。例如,如果您只要看着屏幕就可以登录到您的计算机呢?如果您只需要摆出一种姿态,而无需任何接触,电脑就会作出回应、知道您想要什么呢?如果您只需带着高清视频设备在新房子里走过,就可以生成空间的三维模型,查看新家具是否与新家相配呢?这些都只是异构计算改变人与计算机长久以来互动关系的某些方面。以上仅是利用GPU应用程序编程接口(API)进行软件创新的三个实例。

如果您像大多数人一样,您可能很难想象有什么事能比搜索和分类照片和视频更加单调与耗费时间。您要根据不同的人物、不同的地点、不同的事情一一查找分类。但如果您的电脑可以通过识别图像中的人脸、地点与事物,从而实现快速、自动搜索并标记照片与视频呢?或者您的电脑可以帮助您整理大量照片,从中剔除重复保存于不同命名下的图片呢?又或者通过“查看”某个演员的脸部照片,帮助您搜索您所需要的IMDB或维基百科条目呢?通过使用当今的GPU,您就可以获得诸如此类的像素密集型体验。这些处理体验足以反衬出当前的搜索和索引功能是多么难以想象的繁琐和缓慢。

当今的GPU也从一些新的方面提高了人们的视觉享受。想象一下,使用一台电脑就可以自动稳定摇摇晃晃的手持视频画面,生成高清内容。或者甚至能让房间大小的屏幕提供清晰的视频内容。或者支持全息图像获得前所未有的真实感。我们预见显示分辨率可以不断提高,其所提供的密度和清晰度甚至超出了人眼在模拟世界中的感知范围。科技正是以这样疯狂的方式提高了我们的生活质量。

创建新的非视觉体验

一说到GPU的新应用,你可能会立即想到视觉体验。面部特征和手势识别、照片或视频的索引等等我们刚刚描述过的功能就是好例子。这听似很有道理,因为GPU中的“G”即为“图形”的缩写。但是,正如上文所述,GPU可以做的不仅仅是将像素用于显示图像。它们是非常有价值的通用计算资源,现在甚至可以与CPU平起平坐,创建广泛的无与伦比的全新体验。例如,今天的GPU使得高水平上下文感知计算带来的全新体验远远超出视觉范围,其目前取得的一些成绩足以令人惊叹。

在环境可感知计算(contextually aware computing )——来自多个传感器的大量数据使得计算机能够适应各个用户和情况,而不是让用户和情况来配合计算机。在音频领域,例如,想想在视频会议中、新闻广播和类似场合中,将现场音频从一种语言转录或翻译成另一种语言所需耗费的时间。多年来,人们已经接受了这种不便,但“环绕计算”启用GPU先进的数据并行处理能力,开发了快速、实时地对语言进行音频口译和语音翻译的潜力。

这种上下文感知计算也向人们展示了计算机的潜在新功能,例如录音应用程序中的语音识别功能——因此,例如,在一间会议室,软件会自动确定是谁在说话,并确定会议中自动生成的录音中的不同发言人。另外一个潜在的应用是,软件会动态测量室内的传声效果,并根据您所使用的任何移动设备调整音频输出。

这些种类的音频应用还可以转化成数字安防——例如,用于通过语音来识别和验证用户,允许用户访问物理位置和计算机系统的系统。说到安全性的话题,GPU功能可以对有针对性的恶意软件进行扫描,消除使用当今的反病毒程序所经历的痛苦的缓慢运行时间。

这些都不是空想。目前,世界各地的实验室都在研究使用该等功能。为什么他们还没有发现进入主流生产的方法呢?答案就是现有的硬件结构和软件编程模型的局限性。这就是为何异构系统架构在开创计算未来的创新时代中扮演着至关重要的角色。