지금까지 컴퓨터 그래픽이나 인공지능 (AI) 을 돌릴 때 Nvidia라는 회사가 만든 'CUDA'라는 언어가 거의 독점했습니다. 마치 미국에서만 통하는 영어처럼요. 하지만 AMD라는 회사도 강력한 그래픽 카드를 만듭니다. AMD 카드는 가격이 더 저렴하고 성능도 좋지만, Nvidia 카드는 AMD 카드에서 작동하지 않습니다. 마치 영어를 쓰는 미국 사람이 한국어를 쓰는 한국에 가서 아무도 알아듣지 못해 당황하는 상황과 같습니다.
기존에는 이 문제를 해결하기 위해 사람이 일일이 코드를 다시 쓰거나, 'Hipify'라는 자동 번역 도구를 썼습니다. 하지만 이 도구들은 번역 실수가 많고, 복잡한 프로그램은 제대로 번역하지 못해 실패하는 경우가 많았습니다.
2. 해결책: CASS (캐시) 프로젝트
연구팀은 이 문제를 해결하기 위해 CASS라는 시스템을 만들었습니다. CASS 는 두 가지 핵심 요소를 가지고 있습니다.
① 거대한 '이중 언어 사전' (CASS 데이터셋)
비유: imagine 하세요. 영어 원서 6 만 권과 그걸 완벽하게 번역한 한국어 번역본 6 만 권을 모아서, "이 문장은 왜 이렇게 번역했는지, 문법 오류는 없는지"를 모두 검증한 완벽한 이중 언어 도서관을 만든 것입니다.
실제 내용: 연구팀은 Nvidia 의 코드 (CUDA) 와 AMD 의 코드 (HIP), 그리고 그 아래에서 실제로 작동하는 기계어 (SASS 와 RDNA3) 까지 6 만 개의 쌍을 모았습니다. 단순히 코드를 복사한 게 아니라, 두 코드가 실제로 같은 일을 하고, 같은 속도로, 같은 메모리를 쓰는지까지 검증했습니다.
② 똑똑한 '번역 전문가' (CASS 모델)
비유: 이 도서관에서 공부한 초고성능 AI 번역가입니다.
성능: 이 AI 는 기존에 있던 유명한 번역기 (Hipify) 나, 최신 대형 AI (GPT-5, Claude 등) 보다 훨씬 잘 번역합니다.
코드 번역: 88.2% 정확도 (기존 AI 들은 60~70% 수준)
기계어 번역: 69.1% 정확도 (기존 AI 들은 20% 미만으로 실패)
특이점: 이 AI 는 단순히 단어를 바꾸는 게 아니라, "이 명령은 AMD 칩에서는 이렇게 실행해야 빠르고 안전해"라는 하드웨어의 속성까지 이해하고 번역합니다.
3. 왜 이것이 중요한가요? (결과)
이 번역기가 만든 코드는 원본과 거의 똑같은 성능을 냅니다.
비유: 미국에서 만든 요리 레시피를 한국 식재료로 바꿔서 만들었는데, 맛과 조리 시간, 식감까지 원본과 95% 이상 똑같다는 뜻입니다.
의미: 기업들은 비싼 Nvidia 카드를 사지 않고도, 더 저렴한 AMD 카드를 써도 기존에 만든 복잡한 AI 프로그램이나 게임이 그대로 잘 돌아갑니다.
4. CASS-Bench: 시험지
연구팀은 이 번역기가 정말 잘하는지 확인하기 위해 CASS-Bench라는 시험지를 만들었습니다. 18 가지 다른 분야 (게임, 과학 시뮬레이션, AI 등) 의 문제를 내서 번역기가 얼마나 잘 푸는지 평가했습니다. 여기서 CASS 모델은 다른 모든 AI 를 압도하는 성적을 냈습니다.
5. 요약: 이 연구가 가져오는 변화
과거: Nvidia 카드만 써야 함. AMD 로 바꾸려면 코드를 다시 짜야 함 (시간과 돈 낭비).
현재 (CASS): AI 가 Nvidia 코드를 AMD 코드로 완벽하게 번역해 줌.
미래: 하드웨어 회사에 구애받지 않고, 가장 성능이 좋고 저렴한 그래픽 카드를 자유롭게 선택할 수 있게 됩니다.
한 줄 요약:
"Nvidia 의 복잡한 코드를 AMD 가 알아듣는 언어로, 맛과 영양 (성능) 을 그대로 유지하며 완벽하게 번역해 주는 AI 비서를 만들었습니다."
이 연구는 이제 오픈소스로 공개되어, 누구나 이 '번역 도서관'과 '번역 전문가'를 무료로 쓸 수 있게 되었습니다.
CASS: Nvidia-to-AMD 전이 (Transpilation) 를 위한 데이터, 모델 및 벤치마크 기술 요약
이 논문은 GPU 아키텍처 간의 코드 이식성 문제를 해결하기 위해 CASS(CUDA-AMD ASsembly and Source Mapping) 라는 대규모 데이터셋과 모델 스위트, 그리고 벤치마크를 제안합니다. Nvidia 의 CUDA 에서 AMD 의 HIP 로의 소스 및 어셈블리 수준의 번역을 가능하게 하는 최초의 체계적인 접근법입니다.
1. 문제 정의 (Problem)
**벤더 락인 **(Vendor Lock-in) Nvidia 의 CUDA 는 GPU 가속의 표준이지만, 독점적인 명령어 세트 아키텍처 (ISA) 로 인해 다른 벤더 (예: AMD) 의 GPU 에서 실행할 수 없습니다.
전환 비용: 조직이 CUDA 기반 코드베이스를 AMD 로 이전할 때 막대한 엔지니어링 비용과 재작성이 필요합니다.
기존 도구의 한계:
HIPIFY: 소스 레벨 (Source-level) 만 변환하며, 컴파일된 바이너리나 어셈블리 수준에서는 작동하지 않습니다. 또한 복잡한 CUDA 프로그램 변환 시 실패율이 높습니다.
ZLUDA: 런타임 시 PTX/SASS 를 AMD 코드에 매핑하지만, 중간 표현 (LLVM IR) 수준에서 작동하여 Nvidia 의 백엔드 최적화 (SASS 수준의 스케줄링 등) 를 활용하지 못합니다.
데이터 부족: GPU 어셈블리 (SASS ↔ RDNA3) 간의 정렬된 (aligned) 데이터셋이 존재하지 않아 학습 기반 번역 모델 개발이 불가능했습니다.
2. 방법론 (Methodology)
2.1 CASS 데이터셋 구축 파이프라인
저자들은 60,000 개의 검증된 호스트 - 디바이스 코드 쌍을 포함하는 대규모 데이터셋을 구축하기 위해 자동화된 파이프라인을 개발했습니다.
데이터 수집 및 합성:
실제 코드: Stackv2 데이터셋에서 CUDA 소스 코드를 크롤링하고 필터링했습니다.
합성 데이터: LLM (Qwen2.5-Coder) 을 사용하여 다양한 최적화 목표 (메모리 대역폭, 레지스터 사용 등) 와 도메인 (ML, 그래픽, HPC 등) 을 가진 CUDA 커널을 생성하여 데이터의 다양성을 확보했습니다.
전이 및 컴파일:
수집된 CUDA 코드를 AMD 의 HIPIFY를 통해 HIP 소스로 변환했습니다.
Nvidia 스택: nvcc 를 사용하여 PTX/SASS를 생성하고, cuobjdump 를 통해 호스트 (CPU) 와 디바이스 (GPU) 어셈블리를 분리했습니다.
AMD 스택: hipcc 를 사용하여 RDNA3 어셈블리를 생성했습니다. ROCm 스택의 특성을 이용해 호스트/디바이스 어셈블리를 독립적으로 추출할 수 있도록 파이프라인을 수정했습니다.
정렬 및 검증: 두 스택 모두에서 성공적으로 컴파일되고 실행된 샘플만 최종 데이터셋에 포함시켰습니다.
2.2 CASS-Bench 벤치마크
18 개의 다양한 GPU 도메인 (ML, 그래픽, 과학 계산 등) 에 걸쳐 369 개의 검증된 태스크로 구성된 평가 벤치마크입니다.
소스 레벨 (CUDA → HIP) 과 어셈블리 레벨 (SASS → RDNA3) 번역 모두를 평가하며, 실행 결과의 정확성을 자동화된 차분 테스트 (differential testing) 로 검증합니다.
2.3 CASS 모델 학습
모델 아키텍처: Qwen2.5-Coder (1.5B, 3B, 7B 파라미터) 를 기반으로 파인튜닝했습니다.
학습 전략: 어셈블리 번역 (SASS → RDNA3) 과 소스 번역 (CUDA → HIP) 을 위한 별도의 모델을 학습시켰습니다.
최적화: 긴 컨텍스트 (16K 토큰) 처리를 위해 RoPE 외삽법을 적용하고, DeepSpeed 및 Liger Kernel 등을 활용하여 학습 효율성을 높였습니다.
3. 주요 기여 (Key Contributions)
CASS 데이터셋: 소스 (CUDA ↔ HIP) 와 어셈블리 (SASS ↔ RDNA3) 수준에서 정렬된 60k 개의 Nvidia-AMD 코드 쌍을 포함한 최초의 대규모 데이터셋.
CASS-Bench: 교차 아키텍처 GPU 번역을 위한 최초의 표준 평가 벤치마크 (18 도메인, 369 태스크).
CASS 모델: 도메인 특화 LLM 스위트. 7B 모델이 소스 번역 88.2%, 어셈블리 번역 69.1% 의 정확도를 달성했습니다.
오픈소스 공개: 모든 데이터, 모델, 평가 도구를 오픈소스로 공개하여 GPU 컴파일러 도구 및 이식성 연구의 발전을 촉진합니다.
4. 실험 결과 (Results)
4.1 번역 정확도
**소스 번역 **(CUDA → HIP) CASS-7B 모델은 **88.17%**의 정확도를 기록하여, HIPIFY(87.46%) 와 GPT-5.1(84.95%) 보다 우수한 성능을 보였습니다.
**어셈블리 번역 **(SASS → RDNA3) CASS-7B 모델은 **69.11%**의 정확도를 달성했습니다. 이는 GPT-5.1(22.22%), Claude(11.24%), ZLUDA(7.86%) 등 기존 최첨단 모델 및 도구를 압도하는 수치입니다.
해석: 어셈블리 번역은 ISA 의 근본적인 차이 (고정 길이 명령어 vs 명시적 대기 명령어 등) 로 인해 매우 어렵지만, 도메인 특화 학습을 통해 일반 모델이 해결하지 못하는 격차를 좁혔습니다.
4.2 성능 및 효율성
실행 시간 및 메모리: 번역된 코드의 95% 이상이 네이티브 컴파일 코드와 실행 시간 및 메모리 사용량에서 동일하거나 매우 유사한 성능을 보였습니다 (실행 시간 ±0.5 초, 메모리 ±0.3 MB 이내).
오류 분석: 주요 실패 원인은 잘못된 명령어, 오퍼랜드 제약 위반, 레지스터 정렬 오류 등 아키텍처 특유의 인코딩 규칙을 학습하지 못했기 때문이었습니다.
4.3 한계 및 통찰
하드웨어 일반화: A100 (sm80) 에서 학습된 모델을 RTX 4090 (sm89) 환경에서 테스트했을 때 정확도가 급격히 하락했습니다 (69.11% → 32.5%). 이는 아키텍처 세대 간 ISA 차이 (FP8 지원, 레지스터 할당 전략 등) 가 번역에 큰 영향을 미친다는 것을 보여줍니다.
입력 길이: 어셈블리 코드 길이가 증가할수록 번역 정확도가 급격히 감소하는 경향이 있었습니다.
5. 의의 및 결론 (Significance)
CASS 는 GPU 소프트웨어 생태계의 파편화를 해결하고, 저수준 하드웨어 이식성을 실현하기 위한 중요한 발걸음입니다.
기술적 진전: 소스 레벨을 넘어 어셈블리 레벨까지 직접 번역하는 첫 번째 성공적인 사례로, 하드웨어 특화 최적화를 유지하면서 벤더 간 이식을 가능하게 합니다.
미래 전망: Tensor Core 및 행렬 연산과 같은 고급 명령어에 대한 지원은 아직 부족하지만 (HIPIFY 의 한계), 이 프레임워크는 향후 더 다양한 GPU 백엔드와 ISA 쌍을 확장하는 데 기반이 될 것입니다.
오픈 생태계: 모든 리소스를 공개함으로써 GPU 컴파일러 도구 개발, 바이너리 호환성 연구, 그리고 LLM 기반 코드 번역 기술의 발전을 가속화할 것으로 기대됩니다.
이 연구는 단순히 코드를 변환하는 것을 넘어, 서로 다른 하드웨어 아키텍처 간의 의미론적 동등성과 성능 보존을 보장하는 새로운 패러다임을 제시합니다.