• 엔비디아의 PhysX와 Flow가 오픈 소스 공개 — 래퍼(wrapper)를 이용해 RTX 50에서 레거시 PhysX 구동 가능할 수도 있다

    충분한 노력이 있다면, PhysX와 Flow를 Intel/AMD 하드웨어에 포팅하는 것 또한 가능할 수 있다.

    article image

    Nvidia의 PhysX와 Flow SDK는 현재 허용적인 BSD-3 라이선스 하에 완전히 오픈 소스로 공개되었습니다. 개발자 커뮤니티 구성원이라면 이미 알고 있겠지만, 해당 라이브러리들은 핵심 GPU 시뮬레이션 커널을 제외하고는 2018년 후반부터 오픈 소스 상태였습니다. 이번 커널의 소스 코드 공개는 게임 개발자가 PhysX와 Flow의 사용자 지정 및 고도로 최적화된 버전을 통합할 수 있는 길을 열어주었습니다. 또한, 모딩 커뮤니티는 이 기회를 활용하여 호환성 레이어(compatibility layer)를 구축함으로써 지원되지 않는 RTX 50 GPU에서도 레거시 PhysX 코드를 구동할 수 있을 것으로 기대하고 있습니다.

    PhysX는 복잡한 계산을 GPU로 오프로드하여 병렬 처리 능력을 극대화하는 실시간 물리 엔진이며, 내부적으로는 CUDA를 활용합니다. 이 기술은 2010년대 출시된 다수의 구형 타이틀에 사용되었으며, 대표적인 예시로는 Mirror’s Edge, Batman: Arkham Asylum, Metro 2033, Borderlands 2 등이 있습니다.

    과거 대부분의 게임이 32비트 PhysX 구현에 의존했고, 엔비디아가 자사 Blackwell GPU에서 32비트 CUDA 지원을 중단하기로 결정함에 따라, 병렬 컴퓨팅을 염두에 두고 설계 및 최적화된 정교한 물리 시뮬레이션이 CPU로 폴백(fallback)하게 되면서 성능에 심각한 제약이 발생하고 있습니다. Flow는 보다 전문적인 영역으로, 유체 시뮬레이션 메커니즘(화염, 가스, 연기 효과 등)에 동력을 제공합니다.

    article image

    PhysX 4.0 출시 당시 엔비디아는 PhysX의 CPU 측 시뮬레이션 소스 코드를 공개했지만, GPU 측 커널은 여전히 독점적이었습니다. 이는 바이너리(binary) 형태로만 제공되어 시스템 내부를 이해하고 특정 요구사항에 맞춰 사용자 정의하는 것이 거의 불가능에 가까웠습니다. 그러나 엔비디아가 특별한 GPU 가속 기술을 공개하면서, 이제 누구나 기존 라이브러리들을 직접 검토하고, 연구하며, 수정하고, 기반을 다질 수 있게 되었습니다.

    모더들이 32비트에서 64비트로의 호환성 레이어를 제작하여 Blackwell GPU에서 구형 타이틀의 PhysX 지원을 활성화하려는 움직임은 예상할 수 있습니다. 소스 코드 접근이 가능해지면서, PhysX와 Flow를 CUDA에서 분리하고 OpenCL/Vulkan과 같은 하드웨어 독립적 플랫폼으로 기술을 포팅하여 AMD 및 Intel 프로세서 지원을 가능하게 하는 것도 기술적으로는 가능하지만, 이는 매우 어려운 과제입니다.

    전반적으로 PhysX는 게임 분야에서는 이미 대안들(예: Unreal Engine 5의 Chaos Physics 엔진)로 대체된 기술로 간주됩니다. 하지만 PhysX의 GPU 커널과 Flow의 셰이더 시뮬레이션 코드에 대한 접근성은 그래픽스 엔지니어링, 로봇 공학, 건축 및 디자인, 애니메이션 등 광범위한 분야에 걸쳐 지대한 영향을 미칠 것으로 예상됩니다.

    [출처:] https://www.tomshardware.com/pc-components/gpus/nvidias-physx-and-flow-go-open-source-running-legacy-physx-on-rtx-50-may-be-possible-using-wrappers