LLVM 기반 GPU 백엔드 구조 공부로 컴파일러 설계 원칙 이해
GPU 컴파일러를 직접 설계한 경험은 없지만, 컴파일러 수업과 GPU 아키텍처 자료를 통해 GPU 타겟 컴파일러 설계 원칙에 대한 기초를 다졌습니다. GPU는 CPU와 달리 수천 개의 작은 코어가 SIMT 방식으로 동작하기 때문에, 컴파일러가 분기와 메모리 접근 패턴을 GPU 실행 모델에 맞게 최적화하는 것이 핵심입니다.
LLVM 인프라를 이용해 GPU 백엔드를 추가하는 구조를 공부했는데, 중간 표현(IR)에서 하드웨어 특성을 반영하는 패스 설계가 핵심이었습니다. GPU 아키텍처를 깊이 이해할수록 컴파일러가 생성하는 코드 품질이 달라진다는 점이 흥미로웠는데, 워프 발산이나 메모리 뱅크 충돌 같은 GPU 특성을 모르면 최적화 방향을 잘못 잡을 수 있습니다. 앞으로 실제 GPU 하드웨어와 컴파일러를 함께 다루는 경험을 쌓고 싶습니다.