HN 화제: LLVM 없이 AMD GFX11 바이너리를 만드는 C99 CUDA 컴파일러 BarraCUDA

왜 주목받았나

Hacker News의 BarraCUDA Open-source CUDA compiler targeting AMD GPUs 글은 크롤링 시점에 420점, 댓글 175개를 기록했다. 개발자 반응이 큰 이유는 포지셔닝이 분명하기 때문이다. BarraCUDA는 기존 번역 레이어가 아니라 CUDA 소스 `.cu`를 받아 AMD RDNA 3 GFX11 실행 바이너리 `.hsaco`를 직접 내보내는 컴파일러를 목표로 한다.

프로젝트가 제시한 기술 구조

README에 따르면 BarraCUDA는 약 1.5만 줄 규모의 C99 코드베이스로, 컴파일 경로에서 LLVM 의존성을 두지 않는다. 문서상 파이프라인은 전처리기, lexer, 재귀 하강 parser, semantic analysis, 자체 SSA 형태 IR(BIR), mem2reg, instruction selection, register allocation, binary emission 순서다. 저자는 바이너리 인코딩 검증에 `llvm-objdump`를 사용했다고 설명하지만, 실제 코드 생성은 자체 백엔드에서 수행한다고 밝힌다.

지원 범위도 단순 데모 수준을 넘는 구성을 제시한다. `__global__`, `__device__`, thread/block builtin, `__shared__` memory, `__syncthreads()`, 다양한 atomic, warp shuffle/vote, cooperative groups 일부를 포함한다고 명시했다. 실제 커널에서의 안정성 평가는 추가 검증이 필요하지만, 최소한 설계 방향은 실사용을 의식한 형태다.

현재 한계와 시사점

같은 README는 미지원 항목을 명확히 공개한다. 예를 들어 bare `unsigned`, 복합 대입 연산자, `const`, `__constant__` memory, dynamic parallelism, 다중 translation unit 같은 부분은 아직 공백으로 남아 있다. 초기 단계 프로젝트를 평가할 때 이런 투명성은 중요한 신뢰 요소다.

GitHub 메타데이터 기준으로 저장소는 2026-02-16 생성 이후 2026-02-18까지 빠르게 업데이트되고 있다. Apache-2.0 라이선스라는 점까지 감안하면, BarraCUDA는 CUDA 생태계에서 툴체인 다변화 가능성을 보여주는 실험으로 볼 수 있다. 완성도와 별개로, 이런 시도 자체가 GPU 소프트웨어 스택의 개방성과 이식성 논의를 앞당긴다.

출처: Hacker News 스레드 · BarraCUDA 저장소