AMD以其处理器和GPU技术为人所周知,将二者融合成为加速处理单元(APU)技术(参见“融合了四核x86和384核心GPU的APU”)。最初的产品虽然融合了多个CPU和GPU核心,但二者之间的关系类似于设立一个芯片外的GPU。虽然性能有所提高,但编程没有任何变化。
因此AMD转而使用异构系统构架(HSA),通过使用异构统一内存访问(hUMA),让CPU和GPU共享相同的虚拟内存空间(见图1),当程序既使用CPU,又使用GPU时,该项技术能够改变程序员处理应用的方式(参见“能够提高性能的统一CPU/GPU内存构架”)。
图1:异构系统构架(HSA)统一了内存访问,使CPU和GPU能够共享相同的虚拟内存空间
Mantle和AMD Media SDK是AMD基于APU和HSA的两项技术,但二者针对的是不同的多媒体领域。
Mantle是一款崭新的图形API工具,致力于满足高性能和低功耗编程需求。它利用APU的优势,使程序员能够在更大程度上控制和访问APU。Mantle针对的是游戏编程,因为游戏的关键在于性能。Mantle实际上可用于任何图形应用领域,尤其是当开发者希望利用AMD APU的次世代绘图核心构架(GCN)所具有的全部性能时。
AMD Media SDK (AMS) 支持AMD Media Framework (AMF),适用于视频流和多媒体应用。它还包含能够进行GPU计算的AMD App SDK,支持OpenCL以及用于音频的True Audio。
Mantle的设计目的是成为AMD Catalyst软件套件的一部分,瞄准的是基于AMD次世代构架的GPU和APU。开发者可从AMD网站下载AMS,其中包含类似于AMD“Kaveri”A10-7000系列和AMD A8-7000系列APU以及诸如Radeon HD 8000、R7和R9系列的GPU等平台。
Mantle能够利用更先进硬件的性能优势,借助于CPU和GPU之间的交互为程序员提供更强大功能。AMD开发者希望能够提供一种类似于Direct3D和OpenGL、可改善性能的系统。
Mantle能够减少程序运行时着色器的渲染负荷,提供明确的指令缓冲控制,借助API实现对CPU和GPU的精细控制,减少程序负荷,能够明确控制资源压缩、扩展与同步。Mantle能够利用指令缓冲,让多个CPU核心实现近似线性的性能扩展。多核渲染能够支持8个以上核心。
从理论上讲,Mantle能够提供更高效的抽象层,每秒能够比使用相同硬件的同类工具提供更高帧数,减少诸如细微卡顿和纹理破损等问题。
改进后的硬件能够支持视频编码引擎(VCE)和统一视频解码(UVD),支持显示编码模式,以及显示和编码器之间的直接联系,即显示编码模式(DEM)。如今的应用仅需一步即可完成视频捕捉和编码,并降低延迟。AMS首先支持Microsoft Windows 7和8,稍后将支持Linux。
原文:http://electronicdesign.com/dev-tools/whats-difference-between-amds-mantle-and-media-sdk