Houdini에서의 Octane 멀티 GPU: 현실의 확장

Octane은 여러 GPU를 동시에 활용할 수 있으며, OTOY는 자사의 멀티 GPU 아키텍처가 CUDA 코어를 결합하여 선형적인 성능 확장을 가능하게 한다고 설명합니다. 하지만 실제 작업 환경에서는 단순히 GPU 개수를 두 배로 늘린다고 해서 렌더링 시간이 절반으로 줄어들 것이라고 가정하기보다는, 본인의 Houdini 장면(scene)을 사용하여 직접 확장성을 측정해 보아야 합니다. 대규모 장면 작업 시 더욱 중요한 점은 GPU 간에 VRAM이 통합(pooling)되지 않는다는 것입니다. OTOY에 따르면, 사용 가능한 GPU 메모리 용량은 활성화된 구성 내의 여러 카드 중 VRAM 용량이 가장 적은 카드에 의해 제한됩니다. 장면 데이터가 이 한계를 초과할 경우 Octane은 시스템 RAM을 ‘아웃 오브 코어(out-of-core)’ 메모리로 활용할 수 있는데, 이는 GPU 간에 공유되기는 하지만 성능 저하를 초래할 수 있습니다. 따라서 Houdini 워크플로의 관점에서 볼 때, Octane의 멀티 GPU 구성은 단순히 단일 장면에 더 많은 VRAM이 필요할 때보다는, 더 높은 렌더링 처리량(throughput)이 필요하거나 여러 프레임을 효율적으로 처리해야 할 때 가장 확실한 이점을 제공합니다.

이미지 출처: Side FX

흔히 GPU 4개를 사용하면 1개를 사용할 때보다 렌더링 속도가 4배 빠를 것이라고 생각하기 쉬우며, 이러한 가정은 렌더링 소요 시간 예측에 영향을 미치곤 합니다. 하지만 Octane의 경우, 실제 멀티 GPU 성능은 그보다 좀 더 복잡한 양상을 띱니다. GPU를 추가하면 연산 능력은 향상되지만, 각 GPU의 VRAM이 하나의 거대한 메모리 풀로 통합되는 것은 아닙니다. 오히려 VRAM 용량이 가장 적은 GPU가 전체 그룹의 메모리 한계를 결정하게 될 수도 있습니다. 이러한 차이점은 Houdini를 사용할 때 특히 중요한데, GPU를 많이 장착하여 처리량(throughput)은 높일 수 있더라도 실제로는 단일 GPU의 메모리 용량에 따른 제약을 받을 수 있기 때문입니다. 따라서 멀티 GPU 시스템을 선택하기에 앞서, ‘장면(scene)을 얼마나 더 빠르게 렌더링할 수 있는가’와 ‘애초에 해당 장면이 GPU 메모리 용량 내에 수용 가능한가’라는 두 가지 문제를 구분하여 고려하는 것이 좋습니다.

OTOY의 입장과 측정해야 할 사항

OTOY는 Octane의 멀티 GPU 아키텍처가 여러 그래픽 카드의 CUDA 코어를 결합하는 방식이며, GPU를 추가하면 성능이 선형적으로 확장될 수 있다고 설명합니다. 이는 Octane이 멀티 GPU 환경에서 어떻게 확장되는지를 나타내는 설명일 뿐, 모든 Houdini 프로젝트에 적용되는 고정된 렌더링 시간 예측치로 간주해서는 안 됩니다.
실제 제작 환경에서는 본인의 씬(scene)과 시스템 구성을 사용하여 직접 결과를 측정해야 합니다. GPU를 2개, 4개, 또는 8개로 늘린다고 해서 렌더링 시간이 그에 비례하여 똑같이 단축될 것이라고 가정하는 대신, 동일한 Houdini 씬을 단일 GPU와 실제 사용할 멀티 GPU 구성에서 각각 렌더링해 보십시오. 이때 Octane 버전, 씬 데이터, 렌더링 설정은 그대로 유지하여 GPU 추가에 따른 효과를 정확히 비교할 수 있도록 해야 합니다. 이렇게 하면 단순히 그래픽 카드 개수를 속도 향상 배수로 확신하는 대신, 실제 작업 부하에 맞는 유용한 확장성 지표를 얻을 수 있습니다.

가장 약한 카드가 상한선을 결정한다

Octane의 멀티 GPU 구성에서 그래픽 카드를 추가한다고 해서 각 카드의 VRAM이 하나의 거대한 메모리 풀로 합쳐지는 것은 아닙니다. OTOY의 설명에 따르면, 씬(scene) 데이터는 가용 GPU 메모리 내에 수용되어야 하며, 렌더링에 참여하는 각 GPU는 필요한 데이터에 접근할 수 있어야 합니다. 따라서 VRAM 용량이 서로 다른 GPU를 함께 사용할 경우, VRAM 용량이 가장 적은 카드가 해당 그룹의 실질적인 메모리 한계를 결정하게 됩니다.
이러한 특성 때문에 메모리 사용량이 많은 Houdini 씬 작업 시에는 서로 다른 사양의 GPU를 혼합하여 구성하는 것이 비효율적일 수 있습니다. VRAM 용량이 적은 구형 카드를 추가하면 연산 성능은 향상될 수 있지만, 메모리 한계치가 낮아져 더 많은 씬 데이터가 ‘아웃 오브 코어(out-of-core)’ 메모리 영역으로 밀려날 수 있기 때문입니다. 이를 해결하는 한 가지 방법은 VRAM 용량이 비슷한 GPU들을 사용하는 것입니다. 또 다른 방법은 추가적인 연산 성능보다 메모리 용량이 더 중요한 상황에서 Octane 내의 저용량 VRAM 카드를 비활성화하는 것입니다. 따라서 대규모 씬 작업을 위한 하드웨어를 선택할 때는 균형 잡힌 멀티 GPU 구성을 갖춘 클라우드 GPU를 활용하는 것이 특히 유용합니다.

멀티 GPU가 제공하는 이점과 한계

GPU를 추가하면 Octane 렌더링 성능을 향상시킬 수 있지만, GPU 개수와 가용 VRAM은 서로 다른 문제를 해결해 줍니다. 아래 표는 멀티 GPU 구성에서 현실적으로 기대할 수 있는 효과를 요약한 것입니다.

필요한 사항다중 GPU가 도움이 되는가?참고사항
더 많은 프레임 병렬 처리예더 많은 GPU 자원을 가질 때의 핵심 이점
더 빠른 단일 프레임 렌더링예, 하지만 측정 필요GPU 수에 비례하여 성능이 배수로 증가한다고 가정하지 말고 직접 씬을 테스트할 것
더 많은 VRAM을 통한 더 큰 씬 처리아니요VRAM은 단순히 여러 GPU 간에 합산되지 않음
아웃 오브 코어(Out-of-core) 방지아니요실제 한계는 활성화된 GPU 중 가장 낮은 VRAM 용량에 의해 제한됨
서로 다른 세대의 GPU 혼용예, 하지만 성능 상한이 낮아짐가장 낮은 VRAM을 가진 카드가 메모리 병목이 될 수 있음

클라우드 머신을 선택할 때 이러한 차이는 중요합니다. GPU 개수를 늘리면 주로 연산 능력이 향상되는 반면, GPU당 VRAM 용량을 늘리면 Octane이 대규모 장면을 처리할 수 있는 여유 공간이 확보됩니다. 만약 이미 메모리 용량이 병목 현상의 원인이라면, 동일하거나 더 적은 용량의 VRAM을 가진 카드를 추가하더라도 이러한 메모리 한계는 높아지지 않습니다.

코어 외부 문제가 발생할 때

장면(scene) 데이터가 가용 VRAM 용량을 초과할 경우, Octane은 ‘아웃 오브 코어(out-of-core)’ 메모리 기능을 사용하여 텍스처 및 지오메트리 데이터를 시스템 RAM으로 확장해 처리할 수 있습니다. OTOY에 따르면, 이 아웃 오브 코어 메모리는 멀티 GPU 구성 환경에서 여러 GPU 간에 공유됩니다. 또한 아웃 오브 코어 기능이 사용되는 동안에는 해당 메모리 사용이 종료될 때까지 렌더링 장치를 활성화하거나 비활성화할 수 없다는 점도 유의해야 합니다.
특정 작업 부하(워크로드)에서는 이로 인한 성능 저하가 상당히 클 수 있습니다. OTOY 포럼에 올라온 한 사용자 사례를 보면, 아웃 오브 코어 기능을 활성화했을 때 RTX 가속을 사용할 수 없게 되고 렌더링 시간이 약 10분에서 수 시간으로 급격히 늘어나는 현상이 보고되기도 했습니다. 이는 OTOY의 공식 벤치마크가 아닌 커뮤니티 차원의 보고이므로, 일반적인 성능 결과로 간주해서는 안 됩니다.
클라우드 렌더링의 경우, 가능한 한 장면 데이터를 GPU VRAM 범위 내에서 처리하는 것이 실질적인 목표입니다. 아웃 오브 코어 기능은 추가적인 메모리 여유 공간을 제공하지만, 작업 부하에 적합한 충분한 용량의 VRAM을 갖춘 GPU를 선택하는 것을 대체할 수 있는 수단으로 여겨져서는 안 됩니다.

장비 선택을 좌우하는 세부 사항

Octane은 CPU와 GPU를 모두 활용하므로, 클라우드 머신을 선택할 때 고려해야 할 우선순위가 달라집니다. OTOY에 따르면 Octane은 렌더링에 CPU를 사용하지 않습니다. CPU는 씬(scene) 데이터 로드와 같은 작업을 담당하고, 실제 렌더링 연산은 GPU에서 수행됩니다. 따라서 Octane을 주력으로 사용하는 머신이라면, 워크플로에 필요한 수준을 넘어서는 과도한 CPU 자원에 비용을 투자하기보다는 GPU 성능과 충분한 VRAM을 확보하는 것이 더 효율적입니다.
이는 렌더링에 CPU와 GPU를 동시에 활용할 수 있는 Karma XPU와는 다른 점입니다. 만약 Houdini 파이프라인에서 Octane과 Karma XPU를 병행하여 사용한다면, 이상적인 머신 구성 또한 달라질 수 있습니다. Octane의 경우 GPU 중심의 구성이 합리적일 수 있지만, Karma XPU 워크플로에서는 더 강력한 CPU 자원이 이점이 될 수 있기 때문입니다. 따라서 단순히 Houdini의 시스템 요구 사항만 보고 머신을 선택하기보다는, 실제로 사용할 렌더러의 특성을 하드웨어 선정 과정에 반영해야 합니다.

Octane용 iRender GPU 구성 선택하기

Octane의 경우, 어떤 선택이 유리한지는 작업 부하가 더 높은 렌더링 처리량(throughput)을 필요로 하는지, 아니면 GPU당 더 많은 VRAM을 필요로 하는지에 따라 달라집니다. iRender는 현재 서버당 최대 8개의 GPU(각 24GB VRAM)를 탑재한 RTX 4090 구성을 제공하고 있으며, 가격 페이지에는 GPU당 32GB VRAM을 갖춘 RTX 4090 4개 구성과 같은 RTX 5090 멀티 GPU 구성도 포함되어 있습니다. 24GB 용량 내에서 충분히 처리 가능한 애니메이션이나 프레임 시퀀스의 경우, 여러 대의 RTX 4090을 사용하면 렌더링을 위한 GPU 자원을 더 많이 확보할 수 있습니다. 반면 VRAM 용량의 제약을 받는 Houdini 장면에서는, 각 RTX 5090이 제공하는 32GB의 메모리 덕분에 ‘아웃 오브 코어(out-of-core)’ 방식이 필요해지기 전까지 더 높은 메모리 한계 내에서 작업할 수 있습니다. Octane은 단순히 그래픽 카드를 추가한다고 해서 VRAM이 통합(pooling)되어 합산되지 않으므로, 단순히 GPU 개수만 고려하기보다는 작업 중인 장면의 병목 현상이 어디에 있는지에 맞춰 구성을 선택해야 합니다.

iRender Houdini Octane 렌더팜을 참조하세요.

FAQ

  1. Octane은 GPU 개수가 늘어남에 따라 선형적으로 확장되나요?
    OTOY는 Octane이 여러 GPU의 CUDA 코어를 결합할 수 있으며, 멀티 GPU 확장성이 선형적이라고 설명합니다. 하지만 실제 프로덕션 환경의 장면(scene)에서 GPU 개수를 두 배로 늘린다고 해서 렌더링 시간이 항상 절반으로 줄어든다고 가정해서는 안 됩니다. 실제 성능 향상 폭을 확인하려면 사용자의 장면과 시스템 구성으로 직접 테스트해 보아야 합니다.
  2. 여러 GPU를 사용하면 Octane에서 사용할 수 있는 VRAM 용량도 늘어나나요?
    아니요. 일반적인 Octane 멀티 GPU 구성에서는 여러 GPU의 VRAM이 하나로 통합(pooling)되지 않습니다. OTOY에 따르면, 메모리 용량이 서로 다른 GPU를 사용할 경우 VRAM 용량이 가장 적은 카드가 전체 시스템의 유효 메모리 한계를 결정하게 됩니다. GPU를 추가하면 연산 자원은 늘어나지만, 하나의 거대한 VRAM 풀이 생성되는 것은 아닙니다.
  3. Octane에서 서로 다른 GPU 모델을 혼용할 수 있나요?
    네. Octane은 지원되는 서로 다른 NVIDIA GPU 모델을 함께 사용할 수 있습니다. 하지만 VRAM 용량이 다른 카드를 혼용할 경우, 유효 메모리 한계가 VRAM 용량이 가장 적은 카드의 수준으로 낮아질 수 있습니다. 따라서 메모리 사용량이 많은 Houdini 장면을 작업할 때는 VRAM 용량이 비슷한 GPU들을 사용하는 것이 더 효율적일 수 있습니다.

더 보기: 클라우드 GPU 기반 Houdini용 Redshift

No Comments

Leave A Comment