缓存结构GPU矩阵乘法算法的自动优化.docxVIP

  • 0
  • 0
  • 约9.46千字
  • 约 7页
  • 2026-01-28 发布于浙江
  • 举报

缓存结构GPU矩阵乘法算法的自动优化.docx

2014年

2014年5月15日

第37卷第10期

May2014Vol.37No.10

ModernElectronicsTechnique

缓存结构GPU矩阵乘法算法的自动优化

李晓雯1,崔翔2,殷瑞杰1,刘强1

(1.防空兵学院指挥控制系,河南郑州450000;2.河南大学计算机与信息工程学院,河南开封475003)

摘要:讨论在Fermi结构GPU使用CUDA对GEMM(单精度和双精度)算法进行优化,以及Fermi体系结构的新特性(如缓存)对性能的影响。GPU缓存一方面可以提高处理器在运行时数据访问的局部性,另一方面使得代码性能对与性能相关算法参数的依赖变得不可预测。自动优化技术可以用来解决这一问题。自动优化的SGEMM和DGEMM代码在TeslaC2050GPU上达到了563GFlops和253GFlops的性能。代码使用CUDA和C语言进行实现,未进行二进制代码级别的优化。

关键词:GPU程序设计;矩阵乘法;自动优化;GEMM模板

中图分类号:TN40;TP312文献标识码:A文章编号:1004-373X(2014)10-0137-04

Auto-tuningofmatrixmultiplicationforFermiGPU

LIXiao-wen,CUIXiang,YINRui-jie,LIUQiang,

(1.DepartmentofCommandandControl,AirDefenseForcesAcademy,Zhengzhou450000,China;

2.CollegeofComputerInformationEngineering,HenanUniversity,Kaifeng475003,China)

Abstract:AutomaticoptimizationofGEMMalgorithmonFermiGPUandtheimpactofFermiGPU’sarchitecturalfea-turesonperformancearediscussedinthispaper.ThecacheonGPUcannotonlyimprovethedataaccesslocalityofproces-sors,butalsomakethecodeperformancerelyingonrelativealgorithmparametersunpredictable.Auto-tuningcanbeusedtosolvethisproblem.Auto-tunedSGEMMandDGEMMcodesachieve563GFlopsand253GFlopsrespectivelyonC2050GPU.ThecodesareimplementedbyusingCUDAandClanguage,buttheoptimizationonthebinarylevelisnotinvolved.

Keywords:GPUprogramming;matrixmultiplication;automaticoptimization;GEMMtemplate

0引言

Fermi是Nvidia公司支持CUDA编程模型的新一代GPU。与GT200体系结构相比,新型的Tesla2050GPU具有一些新的特性:如增强的双精度浮点性能、L1/L2缓存结构、更多的寄存器、更大的共享存储器、ECC支持和更快的原子操作[1-3]。

收稿日期:2014-02-27基金项目:国家自然科学基金;博士后科学基金(2013M540821);河南省教育厅科学技术研究重点项目(13A520065)由于Tesla2050和GT200使用同样的编程模型,因此程序员期望在GT200上得到良好性能优化的代码也一样可以在Tesla2050上取得良好的性能。实际上,程序员依然需要调整他们运行在GT200上的代码以在Tesla2050上取得最高的性能。在Tesla2050上,虽然每一个MP的寄存器文件被加

文档评论(0)

1亿VIP精品文档

相关文档