10.11896/j.issn.1002-137X.2017.01.004
使用Stencil评估Intel AVX2Vgather指令
为了更好地在向量化时读取离散的数据,Intel在Haswell CPU提供了AVX2vgather指令.由于Stencil在设置边界条件时使用了条件判断,因此编译器生成了vgather指令,并降低了Stencil在Haswell上的性能.提出使用peel优化或intrinsic load的方法来避免vgather指令的生成,并把该方法应用到3个Stencil基准算例、长程Stencil程序3DFD以及混合Stencil应用3DEW上.这些Stencil在Haswell上的性能都获得了1.22X至3.88X不等的提升.通过研究指令的实现,发现vgather指令会被解码成多个微操作(μops),并为每个要读入的元素生成一个μops.由于vgather指令解码时会产生较高的开销,导致vgather指令成为Stencil在Haswell上的性能瓶颈.了解AVX2 vgather指令的实现以及掌握避免生成vgather指令的优化方法,对在Haswell上调优具有良好空间局部性应用的性能有一定的参考价值.
AVX2 vgather指令、Stencil、性能评估
44
TP391(计算技术、计算机技术)
国家重点研发计划2014AA01A302,2016YFB0201800;日本学术振兴会RONPAKU Fellowship资助
2017-04-10(万方平台首次上网日期,不代表论文的发表时间)
共5页
20-24