一句话:以统一接口和算子级协作后端整合现有 SIMD 库,并用分层搜索自动调优实现免手工的高性能。
SIMD 技术是提升高性能计算效率的关键。C++ SIMD 库虽能屏蔽底层复杂性,但库种类繁多、生态碎片化,给开发者在性能与易用性上带来显著挑战。本文提出 SIMD 库设计的协作式新理念,并实现 HybridSIMD:它通过统一接口与算子级协作后端,融合多个现有 SIMD 库各自的优势,从而消解碎片化问题;同时内置自动调优引擎,采用分层搜索策略,自动探索协作方式带来的庞大优化空间,无需人工干预即可获得最高性能。作者在 AVX2、AVX512 和 NEON 三种架构上的六个真实 HPC 基准上进行评测,最高加速比分别达到 185.34×、97.80× 和 71.32×,表明该方案既能解决库碎片化问题,又能提供 state-of-the-art 的性能;工件已开源。
Single Instruction, Multiple Data (SIMD) technology is crucial for enhancing computational efficiency in High-Performance Computing (HPC). While C++ SIMD libraries abstract away low-level complexities, their proliferation has led to a fragmented set of libraries, creating significant challenges in both performance and usability for developers. To overcome these library-level limitations, this paper introduces a new collaborative concept for SIMD library design. We present HybridSIMD, a C++ library to embody this principle, resolving fragmentation through a unified interface and an operator-level collaborative back-end that leverages the collective strengths of existing libraries. A built-in auto-tuning engine, featuring a hierarchical search strategy, automatically navigates the rich optimization space created by this collaborative approach to deliver maximum performance without manual intervention. Experimental results across six real-world HPC benchmarks on AVX2, AVX512, and NEON architectures demonstrate HybridSIMD’s superiority. Notably, the highest speedups achieved are 185.34× on AVX2, 97.80× on AVX512, and 71.32× on NEON, showcasing its effectiveness in resolving fragmentation while delivering state-of-the-art performance. Our artifact is available at https://github.com/Panhaolin2001/HybridSIMD.
DOI 原文 ·
@inproceedings{paperbot9193,
title = {HybridSIMD: A Super C++ SIMD Library with Integrated Auto-tuning Capabilities},
author = {Haolin Pan and Xulin Zhou and Mingjie Xing and Yanjun Wu},
booktitle = {ASE},
year = {2025},
doi = {10.1109/ase63991.2025.00147}
}