Karma XPU는 VEX 셰이더를 실행하지 않습니다

SideFX는 Karma XPU를 CPU와 GPU 자원을 동시에 활용하여 동일한 이미지에 대한 샘플을 생성하는 엔진으로 정의합니다. 따라서 전체 렌더링 시간은 두 장치의 성능이 합쳐진 결과가 되며, 이는 고성능 그래픽 카드와 저성능 프로세서를 조합한 시스템의 경우 해당 카드가 낼 수 있는 최대 속도를 결코 발휘할 수 없음을 의미합니다. 대부분의 GPU 렌더러는 이와 다르게 작동합니다. 즉, CPU가 장면을 준비한 뒤에는 렌더링 과정에서 빠지는 방식입니다. 본인 시스템의 성능 균형을 확인하고 싶다면 KARMA_XPU_DEVICES 환경 변수를 사용하여 GPU 단독, CPU 단독, 그리고 두 장치 동시 사용 시의 프레임 렌더링 시간을 각각 측정해 볼 수 있습니다.
여전히 많은 사용자가 순수 GPU 렌더러용 시스템을 구성하듯이 XPU용 시스템 사양을 정하곤 합니다. 가용 예산 대부분을 그래픽 카드에 쏟아붓고, 프로세서는 가장 저렴한 모델을 선택하는 식입니다. 이는 그래픽 카드가 제 성능을 발휘하지 못하게 만드는 확실한 방법입니다. 작업의 나머지 절반을 처리해야 할 CPU가 속도를 따라가지 못해 병목 현상을 일으키기 때문입니다.

XPU는 CPU가 보조하는 GPU 렌더러가 아닙니다

이미지 출처: Side FX

SideFX의 문서는 이 점을 명확히 설명하고 있습니다. XPU는 CPU와 GPU 자원을 동시에 활용하는 엔진으로 정의됩니다. 두 장치는 동일한 프레임에 대한 작업을 분담하며, 어느 한쪽이 다른 쪽을 보조하는 역할에 그치지 않습니다.
Karma CPU와 Karma XPU는 실행 경로만 다를 뿐 동일한 델리게이트(delegate)입니다. Karma CPU는 GPU 작업을 비활성화하는 반면, XPU는 두 장치를 모두 가동하는 경로를 취합니다.
렌더링 도중 특정 장치에 문제가 발생할 경우(예: GPU 메모리 부족), CPU를 포함한 나머지 장치들이 작업을 이어받아 해당 프레임을 완성합니다. 이는 성능보다는 안정성(resilience)과 관련된 기능이지만, 시스템 아키텍처의 특성을 잘 보여줍니다. 즉, 여기서 CPU는 단순한 대기 장치가 아니라 주력 렌더러(first-class renderer)로서 기능한다는 점입니다. SideFX는 어떤 장치 조합을 사용하더라도 XPU 엔진이 정확히 동일한 결과물을 생성해야 한다고 명시하고 있습니다. 따라서 CPU 성능이 낮더라도 최종 이미지는 변하지 않으며, 단지 렌더링에 소요되는 시간만 달라질 뿐입니다.

XPU와 순수 GPU 렌더러의 차이점

측면일반적인 순수 그래픽 처리 장치 렌더러카르마 하이브리드 렌더러
중앙 처리 장치의 역할장면을 준비한 후 대부분 유휴 상태 유지그래픽 처리 장치와 함께 추적하고 샘플에 기여
성능이 낮은 중앙 처리 장치의 영향적음, 주로 준비 단계에서만 느껴짐전체 렌더링 시간을 지연시침
엔비디아 그래픽 처리 장치가 없는 경우보통 실행되지 않음엠브리 중앙 처리 장치 장치만을 사용하여 여전히 실행됨
그래픽 처리 장치 메모리가 부족한 경우자주 튕기거나 비디오 메모리 초과 발생남은 장치가 작업을 맡아 프레임을 완료함
예산 투입 우선순위그래픽 처리 장치에 집중그래픽 처리 장치와 중앙 처리 장치 모두

각 기기의 기여도를 측정하는 방법

이 테스트는 동일한 프레임을 세 번 렌더링합니다.
먼저 대표 프레임을 선택하세요. 너무 빨리 렌더링되어 결과를 알 수 없는 가장 가벼운 테스트 프레임이나 VRAM 오버플로가 발생하는 프레임은 피하세요. 오버플로는 전혀 다른 문제를 야기합니다. 기본 모드에서 두 장치를 모두 활성화하여 렌더링하고 시간을 기록하세요. GPU만 사용하여 다시 렌더링하고 시간을 기록하세요. 마지막으로 GPU 장치를 비활성화하고 CPU만 사용하여 렌더링하고 시간을 기록하세요.
이제 결과를 비교해 보세요. 두 장치를 모두 활성화했을 때의 시간이 GPU만 사용했을 때의 시간과 비슷하다면 CPU가 렌더링에 거의 기여하지 않고 있는 것이며, 이는 시스템의 성능 불균형을 나타냅니다. 시스템에서는 CPU를 다시 활성화하면 프레임 렌더링 시간이 눈에 띄게 단축될 것입니다.

균형 잡힌 기계의 모습

최상급 그래픽 카드와 보급형 프로세서를 조합하는 것은 비용 낭비입니다. 나머지 시스템 사양으로는 활용할 수 없는 성능에 대해 비용을 지불하는 셈이기 때문입니다. Embree 엔진은 멀티스레드를 지원하므로 CPU의 코어 수가 중요하며, VRAM과는 별개로 해당 장면(scene)을 처리하기에 충분한 시스템 RAM 용량도 확보되어야 합니다. 업그레이드를 고려 중이라면 먼저 ‘3-렌더 테스트(three-render test)’를 수행해 보고, 그 결과를 바탕으로 어디에 예산을 투자할지 결정하는 것이 좋습니다.

후디니 클라우드 워크스테이션 옵션

XPU는 두 장치에서 동시에 렌더링을 수행하므로, 어느 한쪽도 소홀히 하지 않는 사양의 시스템이 적합합니다. 자체 워크스테이션의 사양 균형이 맞지 않는 경우, 고성능 프로세서와 해당 GPU가 결합된 노드를 갖춘 GPU 서버를 대여하여 이를 보완할 수 있습니다. iRender와 같은 서비스는 RTX 4090(24GB) 또는 RTX 5090(32GB) GPU에 AMD Threadripper PRO CPU와 256GB RAM을 탑재한 Windows 시스템을 제공하는데, 이는 XPU의 성능을 극대화할 수 있는 이상적인 구성입니다. 한편 GarageFarm, Fox Renderfarm, RebusFarm은 각각 서로 다른 방식으로 Houdini 렌더링 작업을 지원합니다.

한 가지 제약 사항은 시스템 전체를 대여해야 한다는 점입니다. CPU와 GPU가 결합된 형태라 사용자가 그 비율을 직접 조정할 수 없으므로, 특정 장치에만 의존하는 장면을 렌더링하더라도 두 장치에 대한 비용을 모두 지불해야 합니다. 따라서 예약 전 KARMA_XPU_DEVICES 테스트를 실행해 보면, 해당 노드에서 자신의 장면이 실제로 어떤 장치를 활용하게 될지 미리 확인할 수 있습니다.

FAQ

  • Karma XPU는 CPU와 GPU 중 무엇을 사용하나요?
    둘 다 동시에 사용합니다. SideFX는 XPU를 CPU와 GPU 자원을 동시에 활용하는 엔진으로 설명합니다. 즉, 한 장치가 다른 장치를 위해 작업을 준비하는 방식이 아니라, 두 장치 모두 동일한 프레임에 대해 샘플을 생성하는 데 기여합니다. NVIDIA GPU가 없는 시스템(예: Apple Silicon 탑재 기기)에서도 XPU는 Embree CPU 장치만을 사용하여 정상적으로 작동합니다.
  • CPU 성능이 낮으면 Karma XPU의 속도가 느려지나요?
    네, 그렇습니다. CPU가 단순히 대기하는 것이 아니라 GPU와 함께 렌더링을 수행하기 때문에, CPU가 처리 속도를 따라가지 못하면 전체 출력 성능이 저하되어 GPU가 낼 수 있는 최대 속도를 발휘하지 못하게 됩니다.
  • NVIDIA GPU 없이도 Karma XPU를 실행할 수 있나요?
    네, 가능합니다. 관련 문서에 따르면 NVIDIA GPU가 없는 시스템(Apple Silicon 포함)에서는 Embree CPU 장치만 사용하게 됩니다. 따라서 GPU 가속은 적용되지 않지만, XPU를 통한 렌더링은 여전히 ​​수행되며 동일한 결과 이미지가 생성됩니다.

더 보기: 클라우드 GPU에서의 Enscape 영상 내보내기 및 VR 관련 제약 사항

No Comments

Leave A Comment