Automatic Vectorization of Interleaved Data Revisited

计算机科学 并行计算 矢量化(数学) 交错 x86个 编译程序 水准点(测量) 标杆管理 程序设计语言 软件 操作系统 大地测量学 营销 业务 地理
作者
Andrew Anderson,Avinash Malik,David Gregg
出处
期刊:ACM Transactions on Architecture and Code Optimization [Association for Computing Machinery]
卷期号:12 (4): 1-25 被引量:22
标识
DOI:10.1145/2838735
摘要

Automatically exploiting short vector instructions sets (SSE, AVX, NEON) is a critically important task for optimizing compilers. Vector instructions typically work best on data that is contiguous in memory, and operating on non-contiguous data requires additional work to gather and scatter the data. There are several varieties of non-contiguous access, including interleaved data access. An existing approach used by GCC generates extremely efficient code for loops with power-of-2 interleaving factors (strides). In this paper we propose a generalization of this approach that produces similar code for any compile-time constant interleaving factor. In addition, we propose several novel program transformations, which were made possible by our generalized representation of the problem. Experiments show that our approach achieves significant speedups for both power-of-2 and non--power-of-2 interleaving factors. Our vectorization approach results in mean speedups over scalar code of 1.77x on Intel SSE and 2.53x on Intel AVX2 in real-world benchmarking on a selection of BLAS Level 1 routines. On the same benchmark programs, GCC 5.0 achieves mean improvements of 1.43x on Intel SSE and 1.30x on Intel AVX2. In synthetic benchmarking on Intel SSE, our maximum improvement on data movement is over 4x for gathering operations and over 6x for scattering operations versus scalar code.
最长约 10秒,即可获得该文献文件

科研通智能强力驱动
Strongly Powered by AbleSci AI
科研通是完全免费的文献互助平台,具备全网最快的应助速度,最高的求助完成率。 对每一个文献求助,科研通都将尽心尽力,给求助人一个满意的交代。
实时播报
刚刚
情怀应助蔡蔡不菜菜采纳,获得10
刚刚
shouyu29应助MADKAI采纳,获得10
1秒前
CipherSage应助MADKAI采纳,获得10
1秒前
乐乐应助MADKAI采纳,获得10
1秒前
ChangSZ应助MADKAI采纳,获得10
1秒前
乐乐应助MADKAI采纳,获得10
1秒前
小飞七应助MADKAI采纳,获得10
1秒前
Akim应助MADKAI采纳,获得20
1秒前
科研通AI5应助MADKAI采纳,获得10
1秒前
充电宝应助MADKAI采纳,获得10
1秒前
buno应助MADKAI采纳,获得10
1秒前
1秒前
小唐完成签到 ,获得积分0
3秒前
思源应助年轻的咖啡豆采纳,获得10
3秒前
5秒前
科研通AI5应助junc采纳,获得20
5秒前
绿洲完成签到,获得积分10
6秒前
6秒前
yf_zhu发布了新的文献求助10
6秒前
正直亦旋发布了新的文献求助10
6秒前
7秒前
华仔应助招财不肥采纳,获得10
7秒前
健康的梦曼完成签到 ,获得积分10
7秒前
最最最发布了新的文献求助10
7秒前
科研是什么鬼完成签到,获得积分10
9秒前
9秒前
10秒前
欢喜素阴完成签到 ,获得积分10
11秒前
yirenli完成签到,获得积分10
11秒前
希望天下0贩的0应助DAYTOY采纳,获得10
11秒前
狮子座完成签到,获得积分10
11秒前
爆米花应助润润轩轩采纳,获得10
11秒前
13秒前
熊boy完成签到,获得积分10
13秒前
1233完成签到,获得积分10
13秒前
Chang发布了新的文献求助10
13秒前
111222发布了新的文献求助50
13秒前
wxd发布了新的文献求助10
14秒前
上官若男应助浅笑采纳,获得10
15秒前
高分求助中
Continuum Thermodynamics and Material Modelling 3000
Production Logging: Theoretical and Interpretive Elements 2700
Social media impact on athlete mental health: #RealityCheck 1020
Ensartinib (Ensacove) for Non-Small Cell Lung Cancer 1000
Unseen Mendieta: The Unpublished Works of Ana Mendieta 1000
Bacterial collagenases and their clinical applications 800
El viaje de una vida: Memorias de María Lecea 800
热门求助领域 (近24小时)
化学 材料科学 生物 医学 工程类 有机化学 生物化学 物理 纳米技术 计算机科学 内科学 化学工程 复合材料 基因 遗传学 物理化学 催化作用 量子力学 光电子学 冶金
热门帖子
关注 科研通微信公众号,转发送积分 3527742
求助须知:如何正确求助?哪些是违规求助? 3107867
关于积分的说明 9286956
捐赠科研通 2805612
什么是DOI,文献DOI怎么找? 1540026
邀请新用户注册赠送积分活动 716884
科研通“疑难数据库(出版商)”最低求助积分说明 709762