均衡负载发挥HSA异质运算架构的潜能 智能应用 影音
TERADYNE
DForum0515

均衡负载发挥HSA异质运算架构的潜能

  • DIGITIMES企划

超微(AMD)嵌入式事业群客户技术支持小组资深工程师Scott Lin
超微(AMD)嵌入式事业群客户技术支持小组资深工程师Scott Lin

美商超微半导体(AMD)积极导入HSA异质性运算架构与hUMA异质性统合存储器存取,使得应用程序能够将各项工作细分,直接分派到各个CPU、GPU、DSP等其它元件,使整个SoC均衡负载、执行效率提高同时降低耗能;在软件、函式库与开发套件广泛支持HSA之外,AMD也与众多处理器业者一同建构异质运算架构联盟,加速业界对HSA的导入,带给用户视觉震撼的互动新体验…

从APU到HSA AMD建构异质性多核心运算架构

超微(AMD)嵌入式事业群客户技术支持小组(Custom Technology Enable)资深工程师Scott Lin指出,随面板分辨率提昇、手机摄影像素提高、巨量数据(Big Data)及迈向4G LTE移动通讯基础,庞大的运算与数据串流急需更高的处理器与图形处理效能。AMD从2010年就整合处理器与绘图核心在矽芯片电路端,2012年导入处理器与绘图核心电路单元之间双向时脉管控,在处理器与绘图核心依负载做动态时脉调整以均衡负载。

2014年则是HSA(Heterogeneous System Architecture)异质性运算架构发光的年代。它是一种让整合于单一SOC内的CPU、GPU、DSP等所有元件都能和谐运作的智能架构,能使程序开发者撰写SOC软件如同过去的单一处理器软件一般,加速本地用户端或云端服务器装置的浸润式密集运算效能。

2012年6月,AMD与安谋(ARM)、Imagination、联发科(MediaTek)、德仪(TI)、高通(Qualcomm)共同创立HSA异质系统架构基金会(HSA Foundation),2013年底,则新增高通(QUALCOMM)、三星(Samsung)、乐金(LG)等大咖,赞助会员也新增台湾工研院(ITRI)、博通(BROADCOMM)、威盛(VIA)、ST、ST Ericsson、SONY、新思(Synopsys)、美满电子(Marvell),学院部份则有清华大学、英国布里斯托大学、爱丁堡大学、美国依利诺大学等。

细说HSA异质性运算架构

Scott Lin以图表解释HSA异质运算架构的程序化模型。在一个结合处理器与绘图核心的APU芯片内部,处理器与绘图核心之间,以及对外I/O端的音讯处理器(Audio Processor)、视讯加速引擎(Video Engine)、固定功能加速器(Fixed Function Acclerator)、DSP与影像信号处理(Image Signal Processing)单元,均透过一致性且依用途排序的共享式存储器汇流排(Share Memory, Coherency, User mode queues);透过HSA的软件协定堆叠,传统程序码会排入处理器执行,图形处理部份则排入绘图核心执行;当执行到HSA架构的主函式库或OpenCL 2.x Runtime执行函式库时,像是执行HSA架构最佳化的JIT、Runtime与核心驱动程序时,则会依该应用程序码的主要负载区,动态排入CPU、GPU、Audio、Video、Fixed、DSP或影像信号处理单元等元件去执行,把工作均衡分散派给有能力处理的单元快速处理,使应用程序进一步挖掘APU硬件运算效能,增加整体执行效率进而节省系统耗能。

过去UMA(Uniform Memory Access)平台,多核处理器连接到一个共享存储器区域,绘图核心有独立的绘图存储器,或由主机板存储器划分出一块区域使用,彼此互不隶属;APU时代的NUMA架构,多核处理器与绘图核心连接到同一个存储器汇流排,但处理器与绘图核心各自存取自己的存储器区域,同样互不隶属。

HSA架构下的APU,多核处理器与绘图核心连接到同一个hUMA存储器汇流排,并共享这块存储器的存取。其关键特色在于:
1.提供双向内容一致性的存储器存取。过去处理器与绘图核心之间的沟通,需要先复制内容到一个存储器区块再传递到另一方;hUMA架构下处理器将存储器分页指位器复制到绘图核心,无须做复制、传递的动作。
2.绘图核心能直接存取虚拟存储器(Virtual Memory)、应付分页失误(page faults),不再被限制只能存取被分页锁定的存储器区域。
3.处理器与绘图核心能动态且均衡的配置整个存储器空间。

过去多核处理器加绘图核心架构,当应用程序对绘图核心发出需求时,只能透过OS核心与驱动程序解译该需求后,以单一管线方式送出绘图核心指令码排入序列,造成整个系统运算资源的配置失衡。导入hUMA架构的HSA,除了保留从处理器传递给绘图核心的分派工作序列,从绘图核心回传到处理器的回报管线之外,还新增了从应用程序端以及从硬件元件直接产生的绘图核心标准指令序列;当执行经HSA最佳化的应用程序,各种对处理器、绘图核心与其他元件的指令,直接从应用程序端若硬件元件端打散并均匀分派到各处理器多核、绘图核心多处理单元内,使得整个SOC元件能够负载均衡且和谐的协同执行。

HSA软件产业生态与供应链

导入HSA、hUMA架构的AMD嵌入式产品解决方案,瞄准工业控制与自动化(Industrial Control & Automation)、嵌入式游戏机(Embedded Gaming)、精简型电脑(Thin Client)、数码看板(Digital Signage)与网通基础设备(Communications Infrastructure)等市场。

Scott Lin说明AMD支持两大软件开发标准:
1.Khronos Group所发展出来的Open CL(Open Computing Language)加速型通用计算的程序界面(API)规范。
2.微软的C++AMP(Accelerated Massive Parallelism)巨量平行运算加速架构。Open CL在HSA架构上的优势,在于处理器与绘图核心的存储器定位指标(Pointers)可以共享,避免无谓的复制,降低分派指令的延迟并改进存储器使用模式。在2013年Siggraph展中,已经有结合HSA架构下的Open CL 2.0的图形处理技术的展示。

至于微软C++AMP已整合于微软Visual Studio开发环境,且成为Windows 8 Metro UI标准的函式API。在Visual Studio环境下开发C++语言时,只要使用Restrict与array_view两个关键字,就可直接编译出给绘图核心做平行运算的指令码,在HSA硬件平台上执行时能够发挥并加速平行运算。

目前AMD HSA架构,在语言部份有OpenCL、C++(Bolt)、微软C++ AMP、Java(Aparapi, OpenJDK)与Python;软件开发工具有CodeXL及微软Visual Studio,系统开发套件部份则有APP SDK 2.9。以Open CL为例,AMD提供了x264、Handbrake、FFMPEG、JPEG、VLC、OpenCV、GIMP、ImageMagick、IrfanView、Hadoop, Memcached、clMath、Aparapi(A parallel API for Java)、Bolt、Sumatra、Crypto++、Bullet physics library等包含开源码(Open Source)的Lib/RT函式库,目前有超过2,000个开源码OpenCL函式库,可应用于HSA异质运算的加速与优化。

HSA架构的软件堆叠与系统元件

传统应用程序透过OS API去存取处理器硬件。而HSA平台的软件堆叠与系统元件图中,底层为HSA硬件平台(HSA Platform),往上有处理器与绘图核心区块;在第三层OS区块部份,则有LLVM Complier、HSAIL Finalizer、AQL Architected与Queuing language等系统元件;第四层为HSA执行函式库架构(HSA Runtime Infrastructure),及第五层HSA加速应用程序(HSA Accelerated Application)。

如支持HSA架构最佳化的Bolt、Open CV等特定函式库,经过HSA Runtime层产生HSAIL中介码后,再分派到HSA Finalizer实时解码、编译,产生出可供绘图核心执行的原生机器码;Open CL执行函式库也经由HSA Runtime层产生控制码后,直些送到核心驱动程序去驱动绘图核心硬件;而Direct X与其它执行函式库,则透过传统驱动程序去驱动绘图核心与其他硬件加速元件。

AMD提供了统合型系统开发套件(Unified SDK),整合APP SDK 2.9与MEDIA SDK 1.0两大套件于一体。前者提供Open Web-based的网页浏览器,支持Open CL、C++ AMP,提供OpenCV, OpenNI, Bolt, Aparapi等函式库开源码,直接在Visual Studio IDE下提供OpenCL编辑工具的插入套件,并且支持Cmake;后者提供以绘图核心加速视讯前端╱后端处理的函式库,可均衡AMD多媒体视讯编解码负载并降低延迟,函式库同时支持Windows Store与传统桌上型PC平台。

Scott Lin也快速的浏览像是HADOOP函式库可加速应用10的15次方(Peta Bytes)等级的巨量数据分析(Big Data Analysis);HEVC(High Effiency Video Compress)如H.265压缩协定,规定至少需从三个视角去处理,压缩效能需求比H.264高出5?10倍,也是HSA最佳化编解码程序着力之处。

目前AMD提供了Libre Office自由办公室套装软件,可支持至4K分辨率标准的x265 HEVC Codec,可做脸部识别的Rabbit TV视讯社群交谈╱播放软件,支持语音╱手写识别的Dragon Notes,手势控制的Eye Sight,Aftershot Pro以及讯连科技(CyberLink)的Cyberlink Photodirector 5相片编修软件。Scott Lin最后总结,HSA是一个开放性且具备前瞻性的的产业标准,有广泛的产业支持,提供视觉震撼与人机互动,易于程序码撰写、提供功耗最佳化,且可延长电池供电寿命。