A cross-configuration benchmark is proposed to explore the capacities and limitations of AVX / NEON intrinsic functions in a generic context of development project, when a vectorisation strategy is required to optimise the code. The main aim is to guide developers to choose when using intrinsic functions, depending on the OS, architecture and/or available compiler. Intrinsic functions were observed highly efficient in conditional branching, with intrinsic version execution time reaching around 5% of plain code execution time. However, intrinsic functions were observed as unnecessary in many cases, as the compilers already well auto-vectorise the code.


翻译:本文提出了一种跨配置基准测试方案,旨在探究在需要采用向量化策略优化代码的通用开发项目背景下,AVX/NEON 内联函数的能力与局限。其主要目标在于指导开发者根据操作系统、架构及可用编译器等因素,判断何时应使用内联函数。实验观测发现内联函数在条件分支处理中具有显著效能,其执行时间可达原始代码执行时间的约5%。然而,研究亦表明多数情况下内联函数并非必需,因为现代编译器已能实现良好的代码自动向量化。

0
下载
关闭预览

相关内容

代码(Code)是专知网的一个重要知识资料文档板块,旨在整理收录论文源代码、复现代码,经典工程代码等,便于用户查阅下载使用。
基于 SonarQube 的增量代码扫描
DevOps时代
12+阅读 · 2019年7月18日
激活函数还是有一点意思的!
计算机视觉战队
12+阅读 · 2019年6月28日
语义分割如何「拉关系」?
计算机视觉life
11+阅读 · 2019年2月15日
换个角度看GAN:另一种损失函数
机器之心
16+阅读 · 2019年1月1日
你真的会用 t-SNE 么?有关 t-SNE 的小技巧
专知
59+阅读 · 2018年5月28日
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
3+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Arxiv
0+阅读 · 1月13日
Arxiv
0+阅读 · 1月9日
VIP会员
相关VIP内容
相关资讯
基于 SonarQube 的增量代码扫描
DevOps时代
12+阅读 · 2019年7月18日
激活函数还是有一点意思的!
计算机视觉战队
12+阅读 · 2019年6月28日
语义分割如何「拉关系」?
计算机视觉life
11+阅读 · 2019年2月15日
换个角度看GAN:另一种损失函数
机器之心
16+阅读 · 2019年1月1日
你真的会用 t-SNE 么?有关 t-SNE 的小技巧
专知
59+阅读 · 2018年5月28日
相关基金
国家自然科学基金
2+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
3+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员