摘要
在现有的SIMD程序设计中,编译器或程序员都需要借助置换指令对参与运算的向量操作数进行重新组织,才能符合SIMD指令的要求。这些置换指令带来了较大的性能损失。本文提出了一种新的中间表示,它能够完整地记录标量和向量操作数的存储地址信息,使得置换指令的产生尽可能地推后,减少了冗余置换指令的产生。利用这种中间表示实现了一种数据置换操作的优化算法,它能够有效地减少置换指令带来的性能损失。面向一组典型的多媒体程序进行测试的结果表明,本文提出的方法可以平均获得7%的性能加速。
Compilers or programmers have to use a permutation instruction to reorganize the element of vectors to get the correct operands for the SIMD instructions in the design of a SIMD program recently.But these redundant permutation instructions result in performance loss.This paper proposes a new intermediate representation,which contains enough address messages for the operands of scalar and vector.It makes the generation of data permutations be postponed and the redundant permutation instruction be reduced.We utilize this new intermediate representation to implement an optimization algorithm on data permutation,which can effectively reduce the performance loss from permutation instruction.The test result to a group of typical multimedia program shows that the algorithm can achieve 7% performance acceleration on average.
出处
《计算机工程与科学》
CSCD
北大核心
2012年第7期71-77,共7页
Computer Engineering & Science
基金
国家973计划资助项目(2007CB310901)
国家自然科学基金资助项目(60803041)
关键词
中间表示
SIMD
数据置换
intermediate representation
SIMD
data permutation