AMD는 LLVM Flang Fortran 런타임을 GPU에서 직접 컴파일할 수 있는 실험적 지원을 도입하여, 이러한 장치에서 표준 C/C++ 코드를 실행할 수 있는 능력을 향상시켰습니다. 이 개발은 다양한 프로그래밍 언어에 대한 GPU 활용 최적화를 목표로 하는 AMD ROCm 이니셔티브의 일환입니다.
새로운 `flang-rt` 패치는 기존의 `libc` 및 `libc++`에 대한 GPU 지원과 일치하여, 개발자들이 GPU 실행을 위한 Fortran 코드를 컴파일할 수 있도록 합니다. 구현 과정에서는 특정 플래그를 설정하고 소스 파일을 정리하여 결과 라이브러리가 올바르게 링크될 수 있도록 합니다. 생성된 라이브러리에는 NVIDIA 및 AMD 아키텍처를 위한 `libflang_rt.runtime.a`가 포함되며, 각각 `lib/clang/21/lib/nvptx64-nvidia-cuda/`와 `lib/clang/21/lib/amdgcn-amd-amdhsa/`에 위치합니다.
그러나 현재 구현은 입력/출력 작업에서 포괄적인 기능이 부족하며, 이는 특정 POSIX 기능이 GPU 환경과 호환되지 않기 때문입니다. 여기에는 GPU 환경에서 적용할 수 없는 스레딩 및 세마포어 작업에 대한 지원이 포함되지 않습니다. 또한, GPU 로더 유틸리티는 LLVM 도구로 개발되고 있으며, GPU 기능을 LLVM 생태계에 더욱 통합하고 있습니다.
이 발전은 보다 효율적인 GPU 프로그래밍을 향한 한 걸음을 의미하며, 특히 과학 컴퓨팅 및 고성능 컴퓨팅 분야에서 GPU 가속을 활용할 수 있는 애플리케이션의 성능을 향상시킬 가능성이 있습니다.
* 이 글은
phoronix.com의 기사를 요약한 것입니다. 전체 기사의 내용은
이곳에서 확인하실 수 있습니다.