🤖 AI Summary
This work addresses the challenge that large language models struggle to generate efficient explicit vectorized code due to the scarcity of high-quality training data and the strict semantic constraints of SIMD instructions. To overcome this, the authors propose AutoVecCoder, a novel framework that integrates domain knowledge–driven synthetic data generation (VecPrompt) with execution-efficiency-aligned reinforcement learning (VecRL) to train an 8B-parameter language model capable of producing both correct and high-performance SIMD intrinsics. By moving beyond the conservative limitations of traditional auto-vectorization techniques, AutoVecCoder achieves state-of-the-art results on the SSE and AVX subsets of SimdBench, with certain benchmarks even outperforming GCC’s -O3 optimization level.
📝 Abstract
Vectorization via Single Instruction, Multiple Data (SIMD) architectures is a cornerstone of high-performance computing. To fully exploit hardware potential, developers often resort to explicit vectorization using intrinsics, as compiler-based auto-vectorization frequently yields suboptimal results due to conservative static analysis. While Large Language Models (LLMs) have demonstrated remarkable proficiency in general code generation, they struggle with explicit vectorization due to the scarcity of high-quality corpora and the strict semantic constraints of low-level hardware instructions. In this paper, we propose AutoVecCoder, a novel framework designed to empower LLMs with the capability of automated explicit vectorization. AutoVecCoder integrates two core components: VecPrompt, an automated data synthesis pipeline to inject domain-specific intrinsic knowledge; and VecRL, a reinforcement learning framework that aligns code generation with execution efficiency. AutoVecCoder-8B trained by this framework achieves state-of-the-art performance on the SSE and AVX subsets of SimdBench and, in some cases, generates implementations surpassing standard -O3 optimizations, effectively overcoming the inherent bottlenecks of traditional automated vectorization.