VecIntrinBench: Benchmarking Cross-Architecture Intrinsic Code Migration for RISC-V Vector
By: Liutong Han , Chu Kang , Mingjie Xing and more
Potential Business Impact:
Helps computers run faster on new chips.
Intrinsic functions are specialized functions provided by the compiler that efficiently operate on architecture-specific hardware, allowing programmers to write optimized code in a high-level language that fully exploits hardware features. Using intrinsics to vectorize core code blocks is a standard optimization method in high-performance libraries, often requiring specific vector optimization implementations for multiple mainstream architectures. The promising RISC-V software ecosystem has a significant demand for algorithm library migration and adaptation. Translating existing intrinsic functions to RISC-V Vector (RVV) intrinsic functions across architectures is currently a mainstream approach. Rule-based intrinsic mapping methods and LLM-based code generation can help developers address the code migration challenge. However, existing intrinsic code benchmarks focus on mainstream SIMD intrinsics and lack support for the emerging RISC-V architecture. There is currently no benchmark that comprehensively evaluates the intrinsic migration capabilities for the RVV extension. To fill this gap, we propose VecIntrinBench, the first intrinsic benchmark encompassing RVV extensions. It includes 50 function-level tasks from open source repositories, implemented as scalars, RVV intrinsics, Arm Neon intrinsics, and x86 intrinsics, along with comprehensive functional and performance test cases. We systematically evaluated various code migration approaches on VecIntrinBench, yielding a series of insightful findings. The results demonstrate that advanced Large Language Models (LLMs) achieve a similar effect as rule-based mapping approaches for RISC-V code migration, while also delivering superior performance. We further analyze the reasons and identify future directions for LLM development in the code migration field. The VecIntrinBench is open-sourced to benefit the broader community and developers.
Similar Papers
IntrinTrans: LLM-based Intrinsic Code Translator for RISC-V Vector
Software Engineering
Makes computer code run much faster on new chips.
SimdBench: Benchmarking Large Language Models for SIMD-Intrinsic Code Generation
Software Engineering
Helps computers write faster code for complex tasks.
Efficient Implementation of RISC-V Vector Permutation Instructions
Hardware Architecture
Speeds up computer math and secret codes.