基于LLVM的分析以优化SIMD代码生成的案例研究
分布式、并行与集群计算
2021-06-29 v1 材料科学
硬件体系结构
计算与语言
软件工程
摘要
本文提出一种使用基于LLVM的工具来调整面向新ARM A64FX处理器的DCA++(动态团簇近似)应用的方法。目标是描述新架构所需的更改,并生成面向新可扩展向量扩展指令集的高效单指令多数据(SIMD)指令。在手动调优期间,作者使用LLVM工具通过OpenMP SIMD改进代码并行化,重构代码并应用启用SIMD优化的变换,且确保使用正确的库以实现最佳性能。通过应用这些代码更改,代码速度提升了1.98倍,在A64FX处理器上达到了78 GFlops。作者旨在将部分工作自动化到基于现有及新引入的LLVM工具构建的OpenMP Advisor工具中。
引用
@article{arxiv.2106.14332,
title = {A Case Study of LLVM-Based Analysis for Optimizing SIMD Code Generation},
author = {Joseph Huber and Weile Wei and Giorgis Georgakoudis and Johannes Doerfert and Oscar Hernandez},
journal= {arXiv preprint arXiv:2106.14332},
year = {2021}
}