본문으로 건너뛰기

© 2026 Molayo

arXiv논문2026. 05. 01. 12:20

CuLifter: GPU 바이너리를 타입화된 IR 로 변환하기

요약

CuLifter는 GPU 컴파일러가 타입 정보를 제거하는 문제에 대응하여 개발된 SASS-to-LLVM IR 리프팅 프레임워크입니다. 이 도구는 제약 조건 전파와 충돌 감지 같은 기술을 사용하여 타입 없는 레지스터 파일에서 원래의 데이터 타입을 복원하고, 명시적인 제어 흐름 재구성 및 다중 명령어 패턴 집계를 수행합니다. 8개의 광범위한 벤치마크 스위트에서 CuLifter는 높은 성공률(99.98%)로 유효한 LLVM IR을 생성하며, 타입 복원 단계가 리프팅의 핵심임을 입증했습니다.

핵심 포인트

  • GPU 컴파일러는 데이터 타입을 통합 레지스터 파일에 병합하여 바이너리 분석 도구에게 필요한 타입 정보를 손실시킵니다.
  • CuLifter는 이 문제 해결을 위해 제약 조건 전파와 충돌 감지를 활용하여 레지스터의 데이터 타입을 복원합니다.
  • 이 프레임워크는 SASS(GPU 어셈블리)를 LLVM IR로 변환하며, 명시적인 제어 흐름 재구성 및 다중 명령어 패턴 집계를 지원합니다.
  • 광범위한 벤치마크에서 CuLifter는 99.98%의 높은 성공률을 보여주었으며, 타입 복원 단계가 리프팅의 필수 요소임을 입증했습니다.

GPU 컴파일러는 모든 데이터 타입을 단일 통합 레지스터 파일로 병합하여, 바이너리 분석 도구가 의존하는 타입 정보를 지워버립니다. 우리는 이 타입 없는 레지스터 파일로부터 타입 복원이 GPU 바이너리 리프팅의 핵심 과제임을 보여줍니다. 우리는 제약 조건 전파와 충돌 감지를 통해 레지스터 타입을 복원하고, 명시적인 제어 흐름을 재구성하며, 다중 명령어 패턴을 집계하는 SASS-to-LLVM IR 리프팅 프레임워크인 CuLifter 를 제시합니다. 오픈소스 애플리케이션, 벤더 라이브러리, 최적화된 ML 런타임을 아우르는 8 개 벤치마크 스위트 (919 개의 cubin 에 포함된 24,437 개의 GPU 함수) 에서 CuLifter 는 유효한 LLVM IR 로 99.98% 의 함수를 성공적으로 리프트했습니다. 아블레이션 연구는 타입 복원이 의미론적으로 올바른 IR 을 생성하는 데 필요한 유일한 단계임을 확인합니다: 이를 비활성화하면 x86 패스율은 73.8% 에서 0% 로 떨어지며, 이는 73.8 퍼센트 포인트의 감소입니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 arXiv cs.AR의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
6

댓글

0