RISC-V와 x86_64에서 OpenCL 3.0 공식 인증을 받은 PoCL 7.2 출시
오픈소스 컴퓨팅 생태계에서 범용 컴퓨팅의 중요성은 날로 커지고 있습니다. 그 중심에서 Portable Computing Language(PoCL)는 하드웨어 추상화 계층을 제공하며 중요한 역할을 수행해 왔습니다. 이번 PoCL 7.2 버전의 릴리스는 단순한 성능 향상을 넘어, RISC-V 및 x86_64 아키텍처에서 OpenCL 3.0 공식 적합성을 확보했다는 점에서 기술적 이정표를 세웠습니다.
PoCL 이란 ?
PoCL은 Portable Computing Language의 약자로, 원래 OpenCL은 NVIDIA나 AMD같은 그래픽카드(GPU)에서 병렬 계산을 고속으로 처리하려고 만든 표준 기술입니다. 오픈소스이구요. PoCL은 이 프로그램을 CPU(x86_64, RISC-V, ARM 등)에서도 똑같이 돌릴 수 있게 만드는 역할을 합니다.
OpenCL 3.0 공식 인증의 의미

OpenCL 3.0은 2020년 발표된 이후 이기종 컴퓨팅 환경에서 하드웨어 가속을 효율적으로 활용하기 위한 표준으로 자리 잡았습니다. PoCL 7.2가 CPU 기반의 환경에서 OpenCL 3.0 공식 인증을 받았다는 것은, 특정 벤더의 GPU 없이도 오픈소스 소프트웨어 스택만으로 표준을 준수하는 고성능 컴퓨팅 환경을 구현할 수 있음을 의미합니다.
특히 RISC-V와 같은 신흥 아키텍처에서도 이러한 수준의 표준 준수 능력을 보여준 것은, 임베디드 장치부터 서버 인프라까지 리눅스 커널과 오픈소스 스택이 얼마나 확장성 있게 대응할 수 있는지를 잘 보여주는 사례입니다.
기술적 진전: LLVM 22와 그 너머

이번 릴리스의 핵심 기술적 진전은 LLVM 22 기반의 CUDA 및 Level Zero 장치 지원입니다. LLVM[1] 컴파일러 인프라는 PoCL의 연산 최적화 엔진에서 중추적인 역할을 담당합니다. LLVM 22를 기반으로 하여 다양한 연산 장치에 대한 추상화와 최적화가 정교해졌으며, 앞으로 도입될 LLVM 23에 대한 CPU 대상 지원 기반도 마련되었습니다.
개발자들은 이제 특정 벤더에 종속되지 않은 고도의 최적화된 연산 코드를 다양한 아키텍처에 배포할 수 있는 환경을 갖추게 되었습니다. 이는 런타임 최적화와 컴파일 타임 최적화 사이의 균형을 유지해야 하는 이기종 컴퓨팅 분야에서 큰 이점입니다.
운영자와 개발자를 위한 제언
이번 PoCL 7.2 릴리스는 고성능 컴퓨팅(HPC)이나 딥러닝 추론 환경을 구축하려는 운영자에게 매력적인 선택지를 제공합니다. x86_64 환경에서의 안정성을 유지하면서도 RISC-V 생태계와의 상호운용성을 강화한 점은, 비용 효율적인 하드웨어 도입을 고민하는 현장에서 유연성을 제공할 것입니다.
다만, 오픈소스 스택을 활용한 가속 환경은 설정과 최적화 과정에서 상당한 기술적 이해를 요구합니다. 사용자는 자신의 워크로드에 맞는 타겟 아키텍처와 LLVM 버전을 사전에 검토하고, 호환되는 오픈소스 드라이버 스택(Mesa[2] 등)과의 조화를 확인하는 것이 필수적입니다.
🐧 Linuxroom의 생각 :

원래대로라면 OpenCL 프로그램을 구동하기 위해서는 고성능 그래픽카드(GPU)나 제조사가 만든 전용 드라이버가 꼭 필요했습니다.
하지만 PoCL 7.2 버전이 나오면서, GPU가 없어가 독자적인 칩셋을 쓴느 환경 (특히 차세대 오픈소스 아키텍쳐인 RISC-V나 PC용 x86_64)에서도 최신 OpenCL 3.0 규격을 완벽하게 공식 지원하게 되었습니다.
결국 개발자들이 특정 GPU에 의존하지 않고도 다양한 컴퓨팅 환경에서 AI나 그래픽, 대규모 병렬 연산 코드를 안전하고 자유롭게 구동할 수 있게 되었다는 한마디로 기쁜 소식인 셈이죠.
※ 각주
[1] LLVM: 모듈화 및 재사용이 가능한 컴파일러 및 툴체인 기술 인프라의 집합체로, 다양한 프로그래밍 언어와 하드웨어 아키텍처를 지원합니다.
[2] Mesa: 리눅스 시스템에서 OpenGL, Vulkan 등 다양한 그래픽 및 연산 API를 구현하는 오픈소스 그래픽 라이브러리 스택입니다.
Comments