主页期刊介绍编委会编辑部服务介绍道德声明在线审稿编委办公编辑办公English
2018-2019年专刊出版计划 微信服务介绍 最新一期:2018年第8期
     
在线出版
各期目录
纸质出版
分辑系列
论文检索
论文排行
综述文章
专刊文章
美文分享
各期封面
E-mail Alerts
RSS
旧版入口
中国科学院软件研究所
  
投稿指南 问题解答 下载区 收费标准 在线投稿
高伟,李颖颖,孙回回,李雁冰,赵荣彩.一种改进的控制流SIMD向量化方法.软件学报,2017,28(8):2046-2063
一种改进的控制流SIMD向量化方法
Improved SIMD Vectorization Method in the Presence of Control Flow
投稿时间:2015-06-24  修订日期:2016-03-18
DOI:10.13328/j.cnki.jos.005121
中文关键词:  SIMD扩展部件  控制依赖  数据依赖  循环分布
英文关键词:SIMD extension  control dependence  data dependence  loop distribution
基金项目:“核高基”国家科技重大专项(2009ZX01036)
作者单位E-mail
高伟 数学工程与先进计算国家重点实验室(解放军信息工程大学), 河南 郑州 450001 yongwu22@126.com 
李颖颖 数学工程与先进计算国家重点实验室(解放军信息工程大学), 河南 郑州 450001  
孙回回 数学工程与先进计算国家重点实验室(解放军信息工程大学), 河南 郑州 450001  
李雁冰 数学工程与先进计算国家重点实验室(解放军信息工程大学), 河南 郑州 450001  
赵荣彩 数学工程与先进计算国家重点实验室(解放军信息工程大学), 河南 郑州 450001  
摘要点击次数: 445
全文下载次数: 562
中文摘要:
      SIMD扩展部件是近年来集成到通用处理器中的加速部件,旨在发掘多媒体和科学计算等程序的数据级并行.控制依赖给发掘程序中的数据级并行带来了阻碍,当前,无论基于loop-based还是SLP的控制流向量化方法都需要if转换,而没有考虑循环内蕴含的向量并行度,导致生成的向量代码效率较低.此外,不精确的代价模型指导控制流向量化,同样导致生成的向量代码效率较低.为此,提出了改进的控制流SIMD向量化方法.首先,提出了含有控制依赖的循环分布算法,分离循环的可向量化部分和不可向量化部分,同时考虑分布时数据的局部性;其次,提出了一种直接向量化控制流的方法,该方法考虑了基本块间的向量重用;最后,利用精确的代价模型指导超字选择指令和超字条件分支指令的生成.实验结果表明:与现有的控制流向量化方法相比,改进方法生成的向量代码性能提高了24%.
英文摘要:
      SIMD extension is an acceleration component integrated into the general processor for developing data level parallelism in multimedia and scientific computing applications. Control dependence hinders exploiting data level parallelism in the programs. Current vectorization methods in the presence of control flow, loop-based or SLP, all need if-conversion. They do not consider the SIMD parallelism in programs, and thus result in a lower SIMD executing efficiency. Another factor that leads to low efficiency is the lack of cost model to direct SIMD code generation in the presence of control flow. To address these problems, an improved control flow SIMD vectorization method is proposed. First, loop distribution with control dependence is put up to separate the vectorizable parts and unvectorizable parts, taking data locality into account simultaneously. Second, a direct vectorization method of control flow is presented considering the reuse of data between basic blocks. Finally, cost model is used to guide the generation of select and BOSCCs to improve the efficiency of SIMD code. Experimental results show that the code performance generated by the improved methods increase by 24% compared with those of the existing control flow vectorization methods.
HTML  下载PDF全文  查看/发表评论  下载PDF阅读器
 

京公网安备 11040202500064号

主办单位:中国科学院软件研究所 中国计算机学会
编辑部电话:+86-10-62562563 E-mail: jos@iscas.ac.cn
Copyright 中国科学院软件研究所《软件学报》版权所有 All Rights Reserved
本刊全文数据库版权所有,未经许可,不得转载,本刊保留追究法律责任的权利