来自官方的Redshift硬件注意事项(翻译)

  

Redshift是一个CUDA应用程序,这意味着它目前只适用于NVidia GPU。从游戏级GPU,我们推荐最新一代TitanX Pascal 12GB或GTX1070 / GTX1070Ti / GTX1080 / GTX1080Ti GPU。或者是当前的RTX2070,RTX2080或RTX2080Ti GPU。从专业级GPU,我们推荐上一代Quadro P5000,P6000,GP100,GV100 GPU或下一代Quadro RTX GPU。除了Quadro GV100和Quadro RTX6000 / RTX8000(它们是目前市场上最快的GPU)之外,就Redshift而言,GeForces和Quadros之间没有性能差异。与GeForces相比,Quadros可以更快地渲染视口OpenGL,但这不会影响Redshift的渲染性能。 Quadros对GeForces的一个主要优势是它们通常拥有更多的板载VRAM。例如,唯一提供24GB VRAM的NVidia GPU是Quadro M6000,Quadro P6000和Quadro RTX6000。 Quadro GV100每GPU提供高达32GB的容量,而Quadro RTX8000提供48GB的VRAM。这是很多VRAM! :-)

使用Redshift,可以在同一台计算机上混合使用GeForce和Quadro GPU。

GTX GPU和Titan / Quadro / Tesla GPU之间的一个重要区别是 TCC驱动程序可用性。 TCC的意思是“Tesla计算集群”。它是由NVidia for Windows开发的一种特殊驱动程序。它绕过了Windows显示驱动程序模型(WDDM),允许GPU以更快的速度与CPU通信。 TCC的缺点是,一旦启用它,GPU就会变得对Windows和3D应用程序(例如Maya,Houdini等)“隐形”。它成为CUDA应用程序的专用,如Redshift。只有Quadros,Teslas和Titan GPU才能启用TCC。 GeForce GTX卡无法使用它。如上所述,TCC仅对Windows有用。 Linux操作系统不需要它,因为Linux显示驱动程序不会遇到通常与WDDM相关的延迟。换句话说,默认情况下,Linux上的CPU-GPU通信比所有NVidia GPU上的Windows(使用WDDM)更快,无论是GTX卡还是Quadro / Tesla / Titan。

考虑到在撰写本文时,单个TitanX的成本约为GTX1080的两倍,用户经常会问的问题是“哪一个更好?一个TitanX还是两个GTX1080?“那么,就原始计算能力而言,两款GTX1080将击败单一的TitanX。但是如果您要渲染的场景是多边形(超过150万以上的多边形),我们建议获得11-12GB或更高的GPU。请参阅下一节有关VRAM及其优点的部分。

如果在同一台计算机上安装多个GPU,Redshift将渲染得更快。拥有多个GPU需要特殊的主板/ CPU /设置注意事项,本文档后面将对此进行概述。

 

回顾一下:

  • 你需要更多的VRAM吗?如果是这样,Titan / Quadro / Tesla是您的正确选择您

  • 是否需要TCC(即在Windows上更快的渲染)?如果是这样,Titan / Quadro / Tesla是您的正确选择

  • 如果您不需要上述任何一种,多个GTX GPU(成本相同)将提供更多的原始计算能力

 

VRAM(即显卡显存)足够多时它对性能有何不同?

 

NVidia GPU配置为4GB / 6GB / 8GB / 11GB / 12GB / 24GB / 48GB VRAM。假设未来的GPU将具有更多VRAM,这是安全的。那么特定用户的VRAM数量是多少?

Redshift的一般经验法则是“VRAM越多越好”。然而,具有更多VRAM的视频卡也更昂贵。下面的文字解释了Redshift如何使用VRAM,以便用户在选择GPU时做出明智的决定。

在VRAM利用方面,Redshift非常有效。它能够在大约1GB的视频内存中容纳大约2千万到3千3百万个三角形。如果一个场景包含3亿个三角形(渲染时,渲染器会自己将多边形接三角形计算),Redshift通常需要大约10GB的VRAM。但即使是具有8GB VRAM的GPU也可以使用Redshift渲染如此高的多边形场景,因为它 具有核外架构 (请参阅我们的在线常见问题解答,了解“超出核心”)。但是,过多的核外数据访问有时会导致相当大的性能损失。因此,在渲染高多边形场景时,最好有足够的VRAM。

Redshift的核心技术并未涵盖所有可能的数据类型。目前,Redshift无法以核外方式存储卷网格(例如OpenVDB)。这意味着使用数百兆字节的OpenVDB数据的场景可能需要具有更多VRAM的GPU,否则帧渲染将被中止。

拥有大量VRAM的另一个好处是Redshift的“自动内存管理”功能。如果场景没有使用太多多边形,则可以启用“自动内存管理”设置,并允许Redshift渲染速度更快。该设置位于Redshift的“Memory”选项卡中。它允许Redshift与CPU的通信频率较低,从而提高了渲染性能。有关此设置的更全面说明,请参阅Redshift的在线文档或论坛。

 

拥有大量VRAM的另一个好处是能够同时运行多个GPU应用程序。 Maya的OpenGL视口,Chrome(网络浏览器)和Windows本身等应用程序可能会消耗大量的VRAM,并且几乎没有内存供Redshift使用。显然,这对包含大量VRAM的GPU来说不是一个问题。对于无法负担具有大量VRAM的GPU的用户,可能的解决方法是安装额外的(更便宜的)GPU,用于除Redshift之外的所有内容。然后,剩余的GPU可以与监视器断开连接,因此可以使整个VRAM可用于使用Redshift进行渲染。断开GPU与监视器的连接称为“无头模式”。

 

VRAM容量的主题通常是购买更昂贵的11-12GB GPU与更便宜的8GB GPU之间的决定性因素。

 

最后,应该注意的是,多个GPU的VRAM 没有 组合在一起!即如果你的系统上安装了4GB GPU和8GB GPU,这些 不会 增加到12GB!每个GPU只能使用自己的VRAM。尽管引入了NVLink,但未来可能会发生变化。 NVLink是一个“桥接器”,可以将两个GPU连接在一起,以便它们可以共享彼此的内存。这会带来性能损失,在某些情况下可能会或可能不会很大。 Redshift今天不支持NVLink,但我们正在计划(并已开始工作)实施它。

回顾一下:

  • 您是否将使用额外的GPU进行OpenGL / 2D渲染?如果没有,那么更喜欢具有更多VRAM的GPU

  • 更多VRAM也意味着更快的渲染

  • 您是否会渲染沉重(1.5亿个场景或大量的OpenVDB或粒子)?如果是这样,更喜欢具有更多VRAM的GPU

  • VRAM不会跨多个GPU组合

 

 

主板

 

用于加速渲染的经济高效的解决方案是为您的计算机添加更多GPU。这是与CPU渲染解决方案相比,GPU渲染更具成本效益的原因之一。与购买额外的计算机和软件许可证(包括Redshift许可证)相比,添加额外的GPU(或更多!)更便宜!

如果您今天为Redshift构建计算机并预计将来会添加更多GPU,我们建议您选择具有4个PCIe3.0 x16插槽或更多插槽的主板。请注意,有些主板会声称有4个PCIe3.0 x16插槽,但它们的规格会说(x16,x16),(x8,x8,x8,x8)。这意味着“如果你有两个GPU,它们都将以x16速度运行,但如果你有4个GPU,则每个GPU将以x8速度运行”。换句话说,即使主板有4个插槽,它们也不能同时以全速x16速度运行。

你绝对需要(x16,x16,x16,x16)吗?没有! Redshift与(x8,x8,x8,x8)运行良好,但在某些情况下x16速度可能会对性能有所帮助。这包括DeepEXR渲染或渲染场景,执行大量的核外渲染,即GPU需要访问CPU内存的情况。即使在这些情况下,也不要指望x16和x8插槽之间存在巨大的性能差异。未来的NVidia GPU(Pascal)将能够更有效地使用CPU内存,因此,在这些情况下,额外的x16速度可能会产生更大的差异。换句话说,PCIe x16的规划目前更像是一个面向未来的选择,而不是现实世界的优势选择。

请注意,即使所选主板声称拥有许多支持PCIe x16的插槽,您也需要一个合适的CPU来实现这一性能! (见下文)

回顾一下:

  • 如果您要在每台计算机上添加多个GPU,请选择具有多个快速PCIe x16插槽的主板。

 

 

CPU 

我们建议CPU具有足够的单线程性能。最好是拥有内核更少但比更多内核和更低GHz更高频率的CPU。即,与6核3.5 GHz CPU相比,Redshift的8核2.5GHz CPU将更糟糕。我们建议工作频率为3.5GHz或更高的CPU。

并非所有CPU都能以全PCIe x16速度驱动4个GPU。 CPU具有称为“PCIe通道”的功能,该功能描述了CPU和GPU之间的数据通信速度。某些CPU的PCIe通道数少于其他CPU。例如,Core i7-5820K 3.3GHz有28个PCIe通道,而i7-5930K 3.5GHz有40个PCIe通道。这意味着5930K可以以更高的速度驱动更多的GPU。我们建议CPU具有更多PCIe通道。我们不推荐Core i5,Core i3或低端CPU。

如果在同一主板上有多个CPU(如Xeons),则CPU的PCIe通道将合并在一起。双Xeon系统可以全速轻松驱动8个GPU。

回顾一下:

  • Redshift更关心GHz而不是核心数量

  • 如果您要安装多个GPU,请查看更高端的Core i7

  • 如果您要安装4个以上的GPU,您可能需要考虑双Xeon解决方案

  • 避免i5,i3和低端CPU

 

外部GPU机箱

 

我们曾经测试过Redshift的唯一外部机箱是Cubix Xpander Elite,性能非常好!我们一次测试了1,2,3和4个GPU。我们发现它是稳定的,而且非常重要的是,与直接在计算机主板上安装GPU相比,我们无法衡量性能损失。如果您的计算机没有足够的PCIe插槽,并且您希望GPU可移植,GPU扩展器也会非常有用。

请注意,并非所有外部机箱都适合Redshift!有些人可能会引入PCIe通信延迟,这可能会对Redshift的性能产生负面影响!我们建议您在购买之前使用所选的机箱测试Redshift,即使其他GPU渲染器可能运行良好!与其他GPU渲染器相比,Redshift的软件架构要求GPU与CPU进行更频繁的通信,因此机箱的性能(延迟)非常重要!

 

PSU /散热

 

请遵守CPU / GPU的功率要求并选择合适的PSU。在计算机中安装4个GPU可能需要1000W PSU 或者更强大的PSU!没有足够功率的低质量PSU或PSU可能会导致GPU不稳定和崩溃,更不用说GPU损坏了!
请注意,在一台计算机上安装4个GPU会产生大量的热量,因此请确保机箱冷却/通风良好。如果通风不足,GPU可能会进行热节流并自行降频,以免烧坏。限制/降频意味着渲染速度变慢!当然,高温意味着电子设备的使用寿命更短。所以冷却很重要!

 

多GPU

 使用Redshift和多个GPU渲染时,您有两个选择:可以使用所有GPU渲染单个帧,也可以使用GPU的组合一次渲染多个帧。

在某些情况下,使用所有可用GPU渲染单个帧可以产生非线性性能增益。例如:与使用1 GPU渲染相比,4 GPU可能无法快速渲染4倍。他们可能会提高3倍的速度。这是因为有一定数量的每帧CPU处理涉及到无法通过添加额外的GPU来加速。

为了更好地解释这一点,请考虑以下示例。让我们假设从Maya中提取场景数据(仅在CPU上发生)需要10秒,渲染需要60秒才能执行1 GPU。因此总渲染时间为70秒。现在,如果要添加另外3个GPU(总共4个GPU),则将纯渲染时间的60秒除以4,即15秒。但是你根本不会将10秒的提取时间分开,因为所有这些都是在CPU上完成的!因此,总渲染时间将是10秒+ 15秒= 25秒与原始70秒相比。即3倍而不是4倍。

在其他情况下,更多的GPU无法提供帮助,例如从磁盘加载数据。更糟糕的是,某些CPU处理阶段是单线程的。这意味着安装具有多个内核的CPU也无济于事!

上述问题的解决方案是一次渲染多个帧。如果计算机有4个GPU,则可以一次渲染两个帧,每个帧使用2个GPU。这有助于解决这个问题,因为当你一次渲染多个帧时,你就迫使你的CPU做更多的工作(例如,一次提取多个帧),这通常会提高CPU-GPU的性能比。

一些渲染管理器(如Deadline)支持这种开箱即用的Redshift功能。截止日期中,该功能称为“GPU亲和力”。或者,如果您没有使用渲染管理器并且更喜欢使用自己的批渲染脚本,请阅读此论坛帖子以获取有关如何从命令行渲染并使用GPU子集的信息:https://www.redshift3d .COM /论坛/ viewthread / 1713 /。这基本上是Deadline和其他渲染管理器在幕后选择Redshift中的GPU。

回顾一下:

  • 要获得最佳的多GPU扩展性能,请一次渲染多个帧

 

内存 

我们建议至少拥有系统上安装的最大GPU的两倍内存。即如果系统使用一个或多个TitanX 12GB,系统应该至少有24GB的RAM。

如果您要一次渲染多个帧(如上一节所述),则应相应地增加内存。即如果渲染1帧需要16GB,同时渲染两帧将需要大约32GB。

回顾一下:

  • 如果您要为每台计算机安装多个GPU,请添加大量CPU RAM

 

磁盘

 

我们建议使用快速SSD驱动器。 Redshift自动将纹理(JPG,EXR,PNG,TIFF等)转换为自己的纹理格式,在渲染过程中加载和使用更快。那些转换后的纹理存储在本地驱动器文件夹中。我们建议在该纹理缓存文件夹中使用SSD,以便在渲染过程中可以快速打开转换后的纹理文件。 Redshift可以选择不执行任何此缓存,只需从原始位置打开纹理(即使这是一个网络文件夹),但我们不建议这样做。有关纹理缓存文件夹的更多信息,请阅读在线文档。

 

回顾一下:

  • 首选SSD到机械硬盘

 

网络和NAS

 

Redshift的渲染速度比CPU渲染器快几倍。这意味着您的网络负担也可能更高,就像您添加更多渲染节点一样!如上所述,Redshift将纹理缓存到本地磁盘,因此它不会尝试一遍又一遍地通过网络加载纹理(只有在纹理发生变化时才会这样做)。但是,其他文件(如Redshift代理)不会在本地缓存,因此将反复通过网络访问它们。在这种情况下,快速网络和网络附加存储(NAS)通常可以正常工作。

 

但是,在某些情况下,用户报告某些NAS解决方案的性能极低。由于市场上有许多NAS产品,我们强烈建议您通过网络使用大型Redshift代理对所选NAS进行彻底测试。例如,尝试导出一个包含3000万个三角形的大型Redshift代理(曲面细分的球体可以),将其保存在网络文件夹中,然后尝试通过网络路径和本地文件在场景中使用它 - 测量两者之间的渲染性能差异。

 

回顾一下:

  • 使用Redshift进行渲染就像使用大量机器进行渲染一样。这可能会给您的网络带来压力。
  • 彻底测试您的网络存储解决方案!其中一些有性能问题!

 

人已赞赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧