• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

J4 ›› 2014, Vol. 36 ›› Issue (12): 2267-2271.

• 论文 • 上一篇    下一篇

面向FT1000微处理器的STREAM并行计算与优化

迟利华,胡庆丰,刘杰,甘新标, 蒋杰,晏益慧   

  1.  (国防科学技术大学并行与分布处理重点实验室,湖南 长沙 410073)
  • 收稿日期:2013-12-10 修回日期:2014-02-21 出版日期:2014-12-25 发布日期:2014-12-25
  • 基金资助:

    国家863计划资助项目(2012AA01A301);国家自然科学基金资助项目(60970033,91430218)

Parallel computation and performance optimization
of STREAM on FT1000 processors     

CHI Lihua,HU Qingfeng,LIU Jie,GAN Xinbiao,JIANG Jie,YAN Yihui   

  1. (National Key Laboratory of Parallel and Distributed Processing,
    National University of Defense Technology,Changsha 410073,China)
  • Received:2013-12-10 Revised:2014-02-21 Online:2014-12-25 Published:2014-12-25

摘要:

STREAM是微处理器上内存性能的基准测试程序,在多核多线程FT1000微处理器上发挥高性能是具有挑战性的研究工作。基于多级Cache结构,优化STREAM四个程序的指令流水线,根据寄存器数,设计了多级循环展开方法,根据指令延迟和Cache行的大小确定数据预取的数目,使用汇编语言编写了优化子程序。基于OpenMP并行环境,设计了STREAM并行程序,优化了局部化数据分配方式。数据测试结果表明,优化后的STREAM的性能比原始串行程序性能提高了19.2%~64.2%。优化后,并行程序的最高访存性能达到8.5 GB/s,对比优化前的最高访存性能最大提高了22.7%。

关键词: 多线程微处理器, STREAM测试程序, 性能优化

Abstract:

STREAM benchmark measures the memory bandwidth of microprocessors.It is a challenge to get high performance of STREAM benchmark on the massively multithreaded FT1000 processors.Based on the hierarchical cache,the instruction pipelines of four routines of STREAM are optimized.Then,a multilevel loop unrolling method is proposed according to the number of registers,the prefetched data sizes are determined by the instruction delay and the cache line size,and the optimized subroutines are written in assembly language.Under the OpenMP parallel computing environment, the parallel codes for STREAM benchmark are given with the local data optimized methods.The test results of STREAM codes with performance optimization show that the performance increases by 19.2~64.2% for sequential computation.The highest memory bandwidth of the parallel optimized codes is 8.5GB/s. In comparison to the original parallel codes,the performances of the parallel optimized codes is improved by 22.7% .

Key words: multithreaded processor;STREAM benchmark;performance optimization