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 기반 최적화 방법을 제시함.
•
한계점:
◦
TSVC 함수에 대한 실험 결과만 제시되어 일반적인 코드에 대한 적용 가능성은 추가 검증 필요.
◦
LLM의 hallucination 문제를 완전히 해결하지 못했을 가능성 존재.
◦
51개의 테스트 케이스 중 24개만 성공적으로 벡터화하여 모든 경우에 적용 가능하지 않음.