• 패스마크, "32비트 OpenCL 지원 누락으로 엔비디아 RTX 50 컴퓨트 테스트 결과 저조"

    레거시 OpenCL 코드를 64비트로 포팅하는 방식으로 수정 사항이 배포되었습니다.

    article image

    Nvidia가 CUDA 12.0(버전 이후)을 기점으로 32비트 CUDA 지원을 중단함에 따라, PhysX와 같이 이 플랫폼을 기반으로 개발된 기술들 역시 서비스 수명 종료(End Of Life) 단계에 이르렀습니다. PassMark의 X(트위터)에서 발표된 새로운 보고서에 따르면, 레거시 CUDA 지원 중단은 32비트 시스템을 위해 작성된 구형 OpenCL 코드에도 영향을 미치고 있습니다. 이는 PassMark의 Direct Compute 벤치마크에서 성능 저하가 관찰되는 이유를 설명하는데, 해당 벤치마크에는 구형 라이브러리나 모듈일 가능성이 있는 32비트 코드 조각들이 포함되어 있기 때문입니다.

    Nvidia는 단 한 번의 업데이트로 이러한 변화를 단행한 것이 아닙니다. 레거시 CUDA 지원은 지난 수년간 점진적으로 단계적 퇴출 과정을 거쳤습니다. 주목할 점은, 32비트 CUDA 환경을 염두에 두고 작성된 프로그램들은 여전히 RTX 40 또는 그 이전 세대 하드웨어에서는 구동이 가능하다는 것입니다. 하지만 최신 RTX 50 GPU에서는 구형 CUDA 애플리케이션이 CPU로 폴백(fallback)하게 되는데, 이는 PhysX에서 관찰되는 바와 같이 병렬 처리 성능 면에서 그래픽 카드 대비 현저히 느립니다. 이는 대부분 소프트웨어적 제한 사항으로 추정되며, 32비트에서 64비트로 변환하는 레이어(translation layers)를 통해 극복될 수도 있으나, Nvidia 측의 공식적인 발표나 대응은 기대하기 어렵습니다.

    [추가 참고 사항] 최근에는 Nvidia가 OpenCL 32비트 지원을 공식적으로 제거했으며, 이는 CUDA 32비트 지원 중단에 의존하는 것으로 파악되었습니다. 이러한 변화는 RTX 5090 및 5080 같은 최신 GPU의 컴퓨팅 성능 저하 원인 중 하나로 언급됩니다. (출처 예시: 2025년 2월 25일, 링크: https://t.co/8Rq3K3Zw1P 등)

    PassMark는 Nvidia가 32비트 CUDA 호환성 종료 결정을 내린 것이 레거시 OpenCL 코드에도 영향을 미친다고 보고했습니다. 공식적인 성명은 없으나, 해당 회사 측의 발표에 따르면 Nvidia는 32비트 OpenCL 지원을 완전히 폐기했습니다. 또한 광범위한 Blackwell GPU 재고 부족 문제로 인해 PassMark 팀이 테스트용 RTX 50 GPU 확보에 어려움을 겪기도 했습니다.

    GPU 디컴프레션(decompression)을 이용한 DirectStorage 테스트는 Blackwell GPU가 처리에서 우위를 점하는지 여부를 가늠하는 중요한 요소로 부상하고 있습니다.

    실제로 Nvidia의 OpenCL 개발자 문서는 여전히 32비트 환경을 위한 코드 샘플을 제공하고 있습니다. 이 코드는 구형 RTX 40(Ada Lovelace) GPU에서는 정상 작동하는 것으로 알려져 있지만, RTX 50 하드웨어에서는 "직관적이지 않은(non-obvious)" 오류를 발생시킵니다. 이는 필요한 소스 코드 수정을 거치지 않는 한, 구형 OpenCL 프로그램이 Blackwell 및 향후 GPU에서 안정적으로 작동하기 어려울 것이라는 추론을 뒷받침합니다.

    PassMark의 주력 애플리케이션인 PerformanceTest는 최신 시스템과 호환되지만, 여전히 64비트 주소 공간이 필요하지 않았던 다수의 하위 벤치마크를 포함하고 있습니다. 벤치마크가 성능을 정확하게 측정하기 위해서는 PassMark가 커널 일부를 64비트 모드로 재컴파일하는 과정이 필요했을 가능성이 있습니다.

    그러나 이는 말로만 하기 쉬운 문제입니다. 32비트 시스템을 전제로 제작된 구형 라이브러리나 종속성 요소는 소프트웨어의 연식에 따라 복잡하게 얽혀있을 수 있습니다. 마찬가지로, 이러한 전환은 저수준(low-level) 작업과 메모리 관리를 다룰 때 상당한 수준의 코드 변경 작업을 요구할 수 있습니다.

    PerformanceTest의 최신 릴리스는 필요한 구성 요소를 64비트로 업데이트하며 이러한 문제를 해결하였으며, 이 전체 과정이 마무리되는 데는 약 일주일 정도의 시간이 소요되었습니다. 대부분의 개발자들이 수년에 걸쳐 점진적으로 64비트 코드로 마이그레이션해 왔기 때문에, 전체 코드베이스가 갑작스럽게 중단되거나 컴퓨팅 소프트웨어 자체가 작동을 멈출 가능성은 낮습니다.

    [출처:] https://www.tomshardware.com/pc-components/gpus/nvidias-poor-rtx-50-compute-test-results-due-to-missing-32-bit-opencl-support-says-passmark