Evaluating Auto-Vectorizing Compilers through Objective Withdrawal of Useful Information

编译程序 计算机科学 矢量化(数学) 并行计算 编译时间 程序设计语言 优化编译器
作者
Sergi Siso,Wesley Armour,Jeyan Thiyagalingam
出处
期刊:ACM Transactions on Architecture and Code Optimization [Association for Computing Machinery]
卷期号:16 (4): 1-23 被引量:13
标识
DOI:10.1145/3356842
摘要

The need for compilers to generate highly vectorized code is at an all-time high with the increasing vectorization capabilities of modern processors. To this end, the information that compilers have at their disposal, either through code analysis or via user annotations, is instrumental for auto-vectorization, and hence for the overall performance. However, the information that is available to compilers at compile time and its accuracy varies greatly, as does the resulting performance of vectorizing compilers. Benchmarks like the Test Suite for Vectorizing Compilers (TSVC) have been developed to evaluate the vectorization capability of such compilers. The overarching approach of TSVC and similar benchmarks is to evaluate the compilers under the best possible scenario (i.e., assuming that compilers have access to all useful contextual information at compile time). Although this idealistic view is useful to observe the capability of compilers for auto-vectorization, it is not a true reflection of the conditions found in real-world applications. In this article, we propose a novel method for evaluating the auto-vectorization capability of compilers. Instead of assuming that compilers have access to a wealth of information at compile time, we formulate a method to objectively supply or withdraw information that would otherwise aid the compiler in the auto-vectorization process. This method is orthogonal to the approach adopted by TSVC, and as such, it provides the means of assessing the capabilities of modern vectorizing compilers in a more detailed way. Using this new method, we exhaustively evaluated five industry-grade compilers (GNU, Intel, Clang, PGI, and IBM) on four representative vector platforms (AVX-2, AVX-512 (Skylake), AVX-512 (KNL), and AltiVec) using the modified version of TSVC and application-level proxy kernels. The results show the impact that withdrawing information has on the vectorization capabilities of each compiler and also prove the validity of the presented technique.

科研通智能强力驱动
Strongly Powered by AbleSci AI
科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
fufu完成签到 ,获得积分10
刚刚
仁爱誉完成签到,获得积分10
刚刚
丁驰完成签到,获得积分10
1秒前
852应助拼搏的访天采纳,获得10
1秒前
王艳完成签到,获得积分10
2秒前
七言山川完成签到,获得积分10
2秒前
蔚岚影落完成签到,获得积分10
2秒前
2秒前
高挑的葵阴完成签到,获得积分10
2秒前
宓天问完成签到,获得积分10
2秒前
zhaoxiao发布了新的文献求助10
3秒前
所所应助aziya采纳,获得10
3秒前
111发布了新的文献求助10
4秒前
汉堡包应助幸福妙柏采纳,获得20
4秒前
faiting完成签到,获得积分10
5秒前
傲娇小懒猪完成签到,获得积分10
5秒前
平淡平萱完成签到,获得积分20
5秒前
flylmy2008完成签到,获得积分10
5秒前
milan001完成签到,获得积分10
6秒前
Andy完成签到,获得积分0
6秒前
星辰完成签到,获得积分20
6秒前
6秒前
vv的平行宇宙完成签到,获得积分10
6秒前
111完成签到,获得积分10
6秒前
小二郎应助zph14204采纳,获得30
7秒前
lvyan完成签到,获得积分10
8秒前
狂吃五碗饭完成签到,获得积分10
8秒前
科研小白完成签到,获得积分10
8秒前
9秒前
hello_25baby完成签到,获得积分10
9秒前
9秒前
WZH完成签到,获得积分10
9秒前
9秒前
ranlan完成签到,获得积分10
9秒前
ZZZww完成签到 ,获得积分10
10秒前
刘凯完成签到,获得积分20
10秒前
传奇3应助科研王采纳,获得10
10秒前
唐一完成签到,获得积分10
10秒前
冰沁沁心完成签到,获得积分10
10秒前
幸福的依瑶完成签到,获得积分10
11秒前
高分求助中
Principles of Economics, 11th Edition 10000
University Physics with Modern Physics, 16th edition 10000
(应助此贴封号)【重要!!请各用户(尤其是新用户)详细阅读】【科研通的精品贴汇总】 10000
Molecular Mechanisms of Photosynthesis, 4th Edition 1000
Organic Reactions, Volume 116 1000
Matrix Methods in Data Mining and Pattern Recognition 510
Social Skills Improvement System-Rating Scales--Chinese Version 500
热门求助领域 (近24小时)
化学 材料科学 医学 生物 纳米技术 工程类 有机化学 化学工程 生物化学 计算机科学 内科学 物理 复合材料 催化作用 细胞生物学 无机化学 光电子学 物理化学 电极 基因
热门帖子
关注 科研通微信公众号,转发送积分 7253170
求助须知:如何正确求助?哪些是违规求助? 8875348
关于积分的说明 18736290
捐赠科研通 6933751
什么是DOI,文献DOI怎么找? 3199896
关于科研通互助平台的介绍 2374618
邀请新用户注册赠送积分活动 2174539