MCPLive > 杂志文章 > DirectX 12下A卡、N卡多卡并联

DirectX 12下A卡、N卡多卡并联

2016-02-16王锴《微型计算机》2016年2月上

两种诱人的EMA

相比IMA,DX12提供了相对更高级的Explicit Multi-Adapter(精准多卡适配,简称EMA)模式。这个模式对开发者的要求高得多,顾名思义,它需要开发者在游戏和驱动开发之初就明确地为多GPU优化,提供“原生”的多GPU工作环境。包括GPU负载分配、显存分配、各GPU间核心通信等,要求游戏和驱动对API拥有深度理解和绝对控制权。很显然,这会明显增加开发者的难度,需要更多开发时间,消耗更多开发资源。而好处则是多卡组合的灵活性将得到足够保证,这是因为EMA模式的多GPU协作又进一步细分为了链接型和未链接型两种。

链接型EMA(link mode),这种模式下,多个GPU将会被统一为一个单位,被系统视为一个GPU。这种工作方式对并联工作的多个GPU的要求和SLI、CrossFireX类似,要求规格相近,好是同规格产品并联。因为PCI-E总线、指令处理器和显存池等都是分开的,所以实际运作时,虽能调用多个GPU核心资源,但仍然容易受到外围模块的木桶效应影响。而尽量统一规格能降低木桶效应。此模式相比SLI和CrossFireX的大不同,可能就是对显卡品牌几乎没有要求,让混合并联成为可能。而且基于EMA方式时,并联系统更依赖于系统和游戏的优化,对AMD、NVIDIA原厂驱动的依赖相对减少,至少并不需要彼此间过多的相互协作、沟通。

微软介绍的DX12下IMA的主要特性
微软介绍的DX12下IMA的主要特性

玩家们非常熟悉的SLI技术就是典型的IMA实际应用类型,要求协作显卡性能不能相差太明显。
玩家们非常熟悉的SLI技术就是典型的IMA实际应用类型,要求协作显卡性能不能相差太明显。

无链接EMA(unlink mode),这与之前的SLI和CrossFireX完全不同,它支持任何厂商的独显、集显的混合组合。多家厂商之间的产品也可以任意搭配,也就是可以无条件混合并联。重要的是每个加入并联工作的显卡依旧保留自己独立的显存、指令控制等资源,通过EMA层灵活交换任何需要用到的共享数据。这种工作方式可以理解为并联后的资源叠加,比如两张4GB显存的显卡在这种模式下并联后,这套系统的实际可使用显存等效就是8GB了。很显然无链接EMA是不少玩家们期待DX12的一大原因,但少有玩家知道其实无链接EMA原本是为独显+集显而准备的特殊技术。希望集显能分担渲染任务中,容易被预料到的有些后期处理和简单渲染,以便让独显更专注地将精力投入高复杂度的图形处理任务中。所以这套系统的灵活度虽高,但在面对独显+独显的高配组合式时,实际效率如何还有待考验。用微软的话来说,DX12提供的是一个丰富的底层支持,给了开发商若干可能性。至于终独显+集显,同一家厂商的多张独显,或者不同厂商的多张独显是否能在游戏中展现出优秀的加速效果,完全取决于开发商对API的掌握能力和对游戏的优化程度。也就是说这是软件的问题,跟选择什么硬件关系不大。

AFR和SFR

相比IMA,EMA,尤其是非链接型EMA的特性看起来如此迷人,却少有人知道背后功臣其实是染模式的转变。在以往,NVIDIA的SLI在实际的渲染流程中,多遵循AFR(alternate frame rendering,交替帧渲染)方式;AMD的CrossFireX系统使用类似的瓦片分离渲染模式(Supertile Mode)。这种方式的原理是让系统中的多个GPU,分别渲染连续的单独帧。以双GPU为例,GPU1渲染第一帧,GPU2渲染第二帧,然后GPU1接着渲染第三帧,GPU2渲染第四帧……依次循环往复。AFR方式是非常直接的多GPU使用方式,其渲染原理完全遵从传统的游戏渲染机制,对游戏来说多数情况下跟使用一个GPU没有什么区别,所以兼容性是好的。

微软介绍的EMA模式主要特性
微软介绍的EMA模式主要特性

微软介绍的未链接型EMA主要特性
微软介绍的未链接型EMA主要特性

EMA多GPU互联显存交叉适配管理机制图示
EMA多GPU互联显存交叉适配管理机制图示

但AFR的缺陷也非常明显,交替帧意味着需要显卡花费额外的开销来处理帧之间的连续性,比如渲染跟踪、前后帧侦测等。另外,这样的方式也需要额外的工作分配机制和整合机制,保证多GPU能正确渲染属于自己的那些帧,以及按照正确的顺序输出帧,而不至于让画面混乱。再者,因为交替渲染会单独考验每个GPU的性能,要想让整体画面平顺流畅,就需要参与的GPU核心性能相当。如果让两张性能差异过大的卡来并联,会出现较快的卡早早渲染完一帧后,花更多时间来等待较慢的卡渲染好第二帧才能开始第三帧的渲染工作,这显然会影响整体效率。所以NVIDIA的做法是组建SLI的显卡必须是同型号。AMD的CrossFireX要求稍微放宽,但也要求多GPU是同样档次的核心,比如当前的旗舰和次旗舰R9 FruyX、R9 Fury可以组建交火。

分享到:

用户评论

共有评论(2)

  • 2019.05.09 15:09
    2楼

    a卡做主卡,N卡当物理加速卡,我曾经试成功过,运行的是一舞成名,A卡好像是4870,N卡是GT240,没有N卡做物理加速卡时帧数在20多帧,N卡和A卡交火成功作为物理加速卡后帧数在80帧以上,效果极为理想,真的是硬件物理加速。

    (0) (0) 回复
  • 2019.05.09 15:09
    1楼

    a卡做主卡,N卡当物理加速卡,我曾经试成功过,运行的是一舞成名,A卡好像是4870,N卡是GT240,没有N卡做物理加速卡时帧数在20多帧,N卡和A卡交火成功作为物理加速卡后帧数在80帧以上,效果极为理想,真的是硬件物理加速。

    (0) (0) 回复

用户名:

密码: