理解 V-Ray 混合渲染

场景由 Dabarti 工作室提供,以 V-Ray Hybrid 混合渲染模式,用两个 GPU 和两个 CPU 进行渲染。

以 CPU 进行 CUDA 渲染

GPU 代码调试(debug)往往是很困难的,因为它的代码一旦崩溃,它有可能只返回内核转储(kernel dump)数据,而不会提供关于代码到底哪个部分实际导致崩溃的线索。为了了解崩溃原因,开发人员必须依次注释掉(comment out)代码的每一个部分直到找到罪魁祸首。这个过程相当乏味且耗时。

为了让 GPU 调试(debug)更容易,我们的主要 GPU 开发人员 Blago Taskov 先生想到一个方法,就是将 CUDA 代码移植到 CPU,这样他就可以使用更好的调试(debug)工具。当这件事完成之后,Blago 就可以定位到哪一行代码导致了崩溃。这样却意外带来重大发现!现在,V-Ray CUDA 可以同时在 CPU 和 GPU 上进行渲染了,并且产生完全相同的渲染结果,V-Ray Hybrid 混合渲染由此正式诞生。

V-Ray 混合渲染 Benchmarks “跑分”试验

为了了解把 CPU 添加到 GPU 后可以提升多少渲染速度,我们对两个 V-Ray CUDA 场景进行了基准检验,场景由 Dabarti 工作室的朋友提供。

硬件

CPU:两个 Intel Xeon CPU E5-2687W v3 3.10 GHz,共40个逻辑 CPU 核心
RAM:128 GB
GPU:两个 NVIDIA Quadro GP100,每个16GB,总共7,168个 GPU 核心

火星探测器的场景

渲染引擎:V-Ray 3.6 CUDA
分辨率:1920×1080
噪点阈值:0.01

GPU + CPU
时间:4:27(267s)

仅 GPU
时间:5:03(303s)
比 GPU + CPU 长13%

仅 CPU
时间:26:25(1585s)
比单独的 GPU 长520%

场景由Dabarti工作室提供

盐和胡椒的场景

渲染引擎:V-Ray 3.6 CUDA
分辨率:1920×1080
噪点阈值:0.01

GPU + CPU
时间:9:11(551s)

仅 GPU
时间:11:33(693s)
比 GPU + CPU 长25%

仅 CPU
时间:40:52(2452s)
比单独的 GPU 长354%

场景由Dabarti工作室提供

对于这些场景,添加 CPU 将渲染时间减少了13%和25%。这是一个相当不错的速度提升,不再只是让这些强大的 CPU 闲置在那里。

我们来看看 V-Ray Hybrid 的几个应用场景:

最大化您的计算能力

如果你有一个强大的工作站,比方说四十个 CPU 核心和四个 GPU,你可以利用其所有的计算能力。不会闲置任何资源。

使用所有的渲染节点

许多艺术家和工作室都有 GPU 和 CPU 工作站以及 CPU 渲染节点。使用 V-Ray Hybrid,就可以使用所有硬件来进行渲染。

转向 CPU(CPU fallback)

如果您的场景超出了您的 GPU 显存上限,您仍然可以利用 CPU 渲染出成果。

随时升级到 GPU

随着 CPU 渲染主机渐渐被更换成 GPU 主机,V-Ray Hybrid 可以让您更平滑地过渡到 GPU 渲染。同时继续利用现有的 CPU 资源。另外,如果在工作站或渲染节点上有一个空的 PCIe 插槽,添加一个 GPU 可以提供明显的速度提升,而不需要更换整台计算机。

需要注意的几件事情

V-Ray 混合渲染和 V-Ray 产品渲染器

值得注意的是,V-Ray Hybrid(GPU-CPU CUDA)渲染器与 V-Ray 产品(CPU)渲染器是不同的,这两个引擎未来也会保持分开的状态。

GPU 核心与 CPU 核心

虽然 V-Ray Hybrid 可以同时在 CPU 和 GPU 上渲染,但 CPU 内核和 GPU 内核也不尽相同。 例如,具有2560个内核的 GPU 不会单纯地是8核 CPU 的320倍。 为了确定实际的速度差异,需要实际进行跑分测试(benchmark tests)。

留言

*
*