VecTrans: Enhancing Compiler Auto-Vectorization through LLM-Assisted Code Transformations
Created by
Haebom
저자
Zhongchun Zheng, Kan Wu, Long Cheng, Lu Li, Rodrigo C. O. Rocha, Tianyi Liu, Wei Wei, Jianjiang Zeng, Xianwei Zhang, Yaoqing Gao
개요
본 논문은 컴파일러 기반 코드 벡터화를 향상시키기 위해 대규모 언어 모델(LLM)을 활용하는 새로운 프레임워크인 VecTrans를 제시합니다. VecTrans는 컴파일러 분석을 통해 벡터화 가능한 코드 영역을 식별하고, LLM을 사용하여 컴파일러의 자동 벡터화에 더 적합한 패턴으로 해당 영역을 리팩토링합니다. 중간 표현(IR) 수준에서 하이브리드 검증 메커니즘을 통합하여 의미적 정확성을 보장합니다. 실험 결과, GCC, ICC, Clang 및 BiSheng Compiler에서 벡터화되지 않은 TSVC 함수 중 VecTrans는 기하 평균 1.77배의 속도 향상을 달성했으며 51개의 테스트 사례 중 24개를 성공적으로 벡터화했습니다. LLM API 사용 비용은 함수 최적화당 0.012달러로 비용 효율성도 높습니다.
시사점, 한계점
•
시사점:
◦
LLM을 활용하여 기존 컴파일러의 자동 벡터화 한계를 극복하고 성능 향상을 달성할 수 있음을 보여줍니다.
◦
컴파일러 분석과 LLM, 그리고 IR 수준 검증을 결합한 하이브리드 접근 방식의 효과성을 증명합니다.
◦
비용 효율적인 LLM 기반 컴파일러 최적화 가능성을 제시합니다.
•
한계점:
◦
테스트 사례의 수가 제한적(51개)이며, 더 다양하고 광범위한 코드베이스에 대한 평가가 필요합니다.
◦
LLM의 hallucination 문제에 대한 완벽한 해결책을 제시하지는 못하며, 이는 향후 연구의 과제로 남아있습니다.
◦
VecTrans의 성능 향상이 모든 종류의 코드에 대해 일관되게 나타나는지에 대한 추가적인 연구가 필요합니다.