迟利华,刘杰,晏益慧,谢林川,甘新标,胡庆丰,蒋杰,李胜国.FitenBLAS:面向FT1000微处理器的高性能线性代数库[J].湖南大学学报:自然科学版,2015,42(4):100~106
FitenBLAS:面向FT1000微处理器的高性能线性代数库
FitenBLAS: High Performance BLAS for a Massively Multithreaded FT1000 Processor
  
DOI:
中文关键词:  FT1000微处理器  BLAS库  性能优化
英文关键词:FT1000 Processor  BLAS  code performance optimization
基金项目:
作者单位
迟利华,刘杰,晏益慧,谢林川,甘新标,胡庆丰,蒋杰,李胜国 (国防科技大学 并行与分布处理重点实验室湖南 长沙410073) 
摘要点击次数: 668
全文下载次数: 0
中文摘要:
      BLAS库是基本线性代数子程序库,是许多大型科学与工程计算的核心计算程序,FitenBLAS库是在多核多线FT1000微处理器上开发的基本线性代数库,其研制对FT1000微处理器在科学与工程计算中的应用具有重要意义.根据多级存储结构和寄存器的数目,设计了向量与向量、矩阵与向量和矩阵与矩阵运算的多级循环展开方法,采用指令调度、数据预取等通用优化技术,优化BLAS库串行程序.对于BLAS3子程序,设计了矩阵乘无冗余数据拷贝分块算法,采用指令重排、访存与计算的重叠、分块等技术优化矩阵乘子程序,基于矩阵乘子程序实现了其他BLAS3子程序.研制了汇编线性代数程库FitenBLAS,其核心子程序矩阵乘的双精度计算性能达到6.91Gflops,是峰值性能的86.4%.
英文摘要:
      BLAS library is the fundamental linear algebra library and plays an important role in many large scientific applications. This paper developed a linear algebra library named FitenBLAS on a massively multithreaded FT1000 processor. Based on the hierarchical storage system and the number of registers, multilevel loop unrolling methods were developed for vector-vector, matrix-vector and matrix-matrix linear operations. The codes of FitenBLAS were optimized with instruction layout and data prefetching technology. An avoiding redundant packing method was proposed for parallel matrix-matrix multiplication, and the parallel code was developed. The kernel matrix-matrix multiplication code was optimized with instruction layout, time overlapping of data access and computation, and data blocking. The other BLAS3 subroutines were designed on the matrix multiplication code. The kernel codes of FitenBLAS were developed in assembly language. The performance for the key subroutine of the matrix multiplication reaches 6.91Glops/s, nearly 86.4% of the peak performance of the FT1000.
查看全文  查看/发表评论  下载PDF阅读器
关闭