렌더링을 위한 멀티 GPU. 그만한 가치가 있습니까?
다중 GPU 워크스테이션은 렌더링 시간을 단축할 수 있습니다. 그러나 그만한 가치가 있습니까? 3Drenderfarms는 이 기사에서 멀티 GPU 렌더링 엔진(Redshift, Octane, Blender, Vray, Arnold)에서 렌더링하기 위한 다중 GPU를 찾습니다.
Table of Contents
렌더링을 위한 멀티 GPU – 그만한 가치가 있습니까?
GPU는 개발 과정에서 먼 길을 왔습니다. 등장 이후 GPU는 병렬 컴퓨팅 기능 덕분에 렌더링 시간에서 우월함을 보여주었습니다. 더 중요한 것은 최신 GPU 렌더러가 결과를 매우 빠르게 제공할 뿐만 아니라 이미지 품질 측면에서 점차 CPU 렌더러를 따라잡는다는 것입니다.
시장은 CGI의 더 나은 품질을 갈망하고 있으며 점점 더 높고 까다로워지고 있습니다. 단일 GPU의 속도는 3D/VFX 아티스트 및 스튜디오에 충분히 강력하지 않은 것 같습니다. 속도와 품질을 모두 최적화할 수 있는 방법이 필요합니다. 널리 사용되는 방법 중 하나는 렌더링에 여러 개의 GPU를 사용하는 것입니다.
더 많은 성능을 얻기 위해 컴퓨터에 더 많은 GPU를 쉽게 쌓을 수 있습니다. GPU를 더 많이 추가할수록 렌더링 시간이 빨라집니다. 일반적으로 X GPU가 작업 속도를 X만큼 높일 수 있다고 예상합니다(예: GPU 2개가 작업을 GPU 1개보다 2배 빠르게 렌더링함). 그러나 GPU가 항상 완벽하게 확장되는 것은 아닙니다. 많은 GPU 기반 렌더링 엔진은 Redshift, Octane, Blender Cycles, Vray GPU, Arnold GPU, Iray 등과 같은 다중 GPU 렌더링을 활용할 수 있습니다. 예를 들어 Octane Render는 여러 카드로 완벽하게 확장되는 반면 Redshift는 약간 적을 수 있습니다. 3Drenderfarms은 다음 섹션에서 렌더 엔진에 대한 다중 GPU 스케일링에 대해 자세히 설명합니다.
또한 컴퓨터에 더 많은 GPU를 추가하는 것이 새 PC를 구입하거나 구축하는 것보다 경제적입니다. 하드웨어 외에도 모든 3D 소프트웨어 및 렌더링 엔진에 대한 새 라이선스를 구입해야 합니다.
GPU 제조업체는 단일 컴퓨터에서 사용되는 여러 GPU를 연결하여 그래픽 성능을 향상시키기 위해 NVIDIA의 SLI/NVLink 및 AMD의 CrossFire와 같은 기술을 개발했습니다. 하지만 현재 NVLink만 계속 지원됩니다. 예를 들어 RTX 3090, RTX A6000과 같은 몇 가지 NVIDIA 그래픽 카드에서 사용할 수 있습니다.
GPU 렌더링의 좋은 점은 여러 GPU를 사용하기 위해 NVLink가 필요하지 않다는 것입니다. GPU가 어떤 식으로든 연결되어 있지 않으면 렌더 엔진은 장면 데이터를 각 GPU에 업로드하고 모두 이미지의 일부를 렌더링합니다. Redshift 또는 Octane의 GPU 렌더링은 NVLink 없이도 훌륭하게 작동합니다. 많은 아티스트에 따르면 NVLink는 매우 복잡한 장면을 위해 더 많은 VRAM이 필요할 때만 유용합니다. 대부분의 경우 NVLink를 통해 리소스를 함께 풀링하지 않고도 여러 GPU를 독립적으로 사용할 수 있습니다.
NVIDIA vs AMD – 멀티 GPU 렌더링을 위한 최고의 하드웨어
NVIDIA 또는 AMD의 그래픽 카드 선택은 주로 렌더 엔진의 호환성에 따라 달라집니다. 렌더링을 위해 CUDA/OptiX를 사용하는 렌더링 엔진은 NVIDIA GPU를 사용해야 합니다. OpenCL을 지원하는 렌더링 엔진은 AMD GPU를 사용할 수 있습니다. 현재 대부분의 렌더링 엔진은 NVIDIA GPU만 지원하거나 NVIDIA 및 AMD GPU를 모두 지원합니다. 따라서 Nvidia GPU를 구매하는 것이 현재 AMD 제품보다 훨씬 더 많은 렌더 엔진에서 지원되므로 더 안전한 선택입니다. 물론 AMD ProRender에서만 렌더링한다는 것을 알고 있다면 AMD GPU를 두 개 구입하는 것이 좋습니다.
일부 렌더링 엔진을 살펴보겠습니다.
- NVIDIA GPU: Redshift, Octane, Arnold, Vray, Keyshot.
- NVIDIA + AMD GPU: Enscape, Lumion, Twinmotion, AMD ProRender, Blender(EEVEE 및 Cycles).
또한 NVIDIA 카드를 선택하든 AMD 카드를 선택하든 후세대 카드를 구입하는 것이 좋습니다. 이전 GPU가 더 이상 지원되지 않거나 애플리케이션의 새로운 기능과 함께 작동하지 않을 가능성이 높기 때문입니다.
렌더링용 GPU에는 게임 GPU와 워크스테이션 GPU의 두 가지 주요 유형이 있습니다. “게임”과 “워크스테이션”의 가장 중요한 차이점 중 하나는 카드에 있는 VRAM입니다. 게임용 GPU는 비디오 메모리가 낮은 경향이 있는 반면 워크스테이션 GPU는 훨씬 더 많습니다. 3D 렌더링을 위해 게임 카드(NVIDIA RTX/GTX, AMD Radeon RX)는 일반적으로 워크스테이션 카드(NVIDIA Quadro 또는 AMD Radeon Pro)보다 성능이 좋습니다. 워크스테이션 카드는 많은 VRAM이 필요한 매우 복잡한 장면을 렌더링할 때 더 유용합니다.
렌더 엔진 멀티 GPU 렌더링 성능
이전 섹션에서 언급했듯이 GPU 렌더링은 PC에 더 많은 GPU를 추가하여 거의 선형적으로 가속할 수 있습니다. GPU 기반 렌더러가 여러 GPU로 어떻게 확장되는지 살펴보겠습니다.
여러 GPU 렌더링을 테스트하려면 막대한 리소스가 필요하기 때문입니다. 지역사회 전문가들의 결과를 참고하고자 합니다.
Redshift 멀티 GPU 렌더링
Redshift는 다중 GPU 렌더링을 사용할 수 있으며 여러 비디오 카드에서 잘 확장됩니다. 세션당 최대 8개의 GPU를 지원할 수 있습니다. 머신에서 다른 세대의 GPU를 혼합하고 일치시킬 수도 있습니다.
Redshift는 한때 NVIDIA 전용 GPU 렌더러였습니다. 이제 Windows와 macOS에서 AMD GPU를 지원합니다. AMD GPU에 대한 지원이 최근에 나온 것이기 때문에 다중 GPU 렌더링은 여전히 제한적입니다. 작동하지만 잘 확장되지 않습니다.
다음은 몇 가지 Redshift 벤치마크입니다.
이미지 출처: cgdirector
Octane 멀티 GPU 렌더링
Octane Render는 여러 GPU로 완벽하게 확장됩니다. 그렇기 때문에 다중 GPU 구성에 적합한 선택입니다. Octane은 NVIDIA GPU만 지원하며 OpenCL(AMD GPU)은 지원하지 않습니다.
다음은 일부 Octane 벤치마크입니다.
이미지 출처: otoy
Vray 멀티 GPU 렌더링
Chaos Vray GPU는 많은 GPU 장치를 사용하여 성능을 향상시킵니다. Vray GPU는 NVIDIA GPU에서만 실행됩니다. 그러나 AMD GPU는 여전히 노이즈 제거 및 렌즈 효과를 수행할 수 있습니다.
다음은 Vray GPU 벤치마크입니다.
이미지 출처: chaos
Unreal Engine 멀티 GPU 렌더링
Unreal Engine(언리얼 엔진)이 왜 여기에 있는지 궁금하실 것입니다. 언리얼 엔진은 일반적으로 하나의 GPU만 사용하는 것으로 알려져 있기 때문에 알고 있습니다. 일부 단일 GPU 소프트웨어는 추가 GPU를 사용할 때 더 높은 성능을 경험합니다.
NVIDIA는 듀얼 NVIDIA RTX A6000 및 NVLink가 언리얼 엔진에서 렌더링 시간을 거의 절반으로 줄이는 방법을 소개했습니다.
결론
하드웨어가 점점 저렴해지고 컴퓨팅 성능이 향상되기 때문입니다. GPU 렌더링도 점점 대중화되고 있습니다. GPU가 많을수록 렌더링 시간이 빨라집니다. 따라서 멀티 GPU 구성이 많은 아티스트와 스튜디오에서 인기 있는 선택이라는 것은 놀라운 일이 아닙니다.