一种提高CPU+GPU异构装置计算性能的方法制造方法及图纸

技术编号:8593745 阅读:315 留言:0更新日期:2013-04-18 06:53
本发明专利技术涉及计算机高性能计算领域,提供一种提高CPU+GPU异构装置计算精度的方法,使大规模多精度运算在基于CPU+GPU的异构装置上获得加速。本发明专利技术的技术方案是:先利用CPU将所有乘数与被乘数传入GPU中;接着GPU每个线程块独立并行处理一对多精度乘法,同时每对乘法在各线程块内并行执行运算和并行进位;最后将结果整理后传回CPU内存,得出计算结果。本发明专利技术实现了大量计算任务的GPU并行处理,大幅提高了计算性能。

【技术实现步骤摘要】

本专利技术涉及计算机高性能计算领域,是一种提高CPU+GPU异构装置计算精度的方法。
技术介绍
在数据加密解密、建筑仿真验证、科研可靠计算等领域,常常用到大规模的多精度数值计算。由于涉及的数值位数,远大于目前计算机处理器CPU硬件精度(最高只有64bit或128bit),因此需要在硬件精度的基础上进行扩展。传统的解决方案主要依靠CPU的串行处理,在计算速度方面受到处理发展的制约,有较大的局限性,已经不能满足日益增大的计算需求。因此,利用GPU配合CPU进行大规模数据处理也逐渐出现,如2012年5月30日授权的中国专利技术专利申请第200910088372. 3所提出的基于GPU众核平台的矩阵并行转置方法,其基本思路是根据矩阵转置后的模型建立的索引,利用GPU多个线程并行工作,对二维矩阵每个元素同时转置,降低了传统遍历整个矩阵转置的时间。2011年9月28日授权的中国专利技术专利申请第201010107317. 7所提出的实现GPU运算提高DR图像处理速度的方法,其基本思想是读取原始医学图像数据,用图像边缘像素对原始医学图像进行扩展和补齐,通过CUDA函数库对扩展和补齐的原始医学图像本文档来自技高网...

【技术保护点】
一种提高CPU+GPU异构装置计算性能的方法,其特征在于,包括步骤:CPU端接收输入的M对N位被乘数和乘数,将所有被乘数和乘数按照顺序分别组成一个一维数组,保存并标识被乘数和乘数;CPU端作为控制器为GPU端分配全局存储器空间和线程块共享存储空间,为GPU端设定网格结构,即线程块位数和线程位数,以及将所有的乘数与被乘数分批异步传输至GPU全局存储器;启动GPU,GPU端作为处理器:在GPU中,将全局存储器中的每对被乘数和乘数分别拷贝到每个线程块,每个线程块对每对乘法运算执行并行处理,得到M对乘法的乘积,GPU将并行处理获得的乘积写回全局存储器;CPU端控制将全局存储器存储的数据分批异步传输至C...

【技术特征摘要】
1.一种提高CPU+GPU异构装置计算性能的方法,其特征在于,包括步骤CPU端接收输入的M对N位被乘数和乘数,将所有被乘数和乘数按照顺序分别组成一个一维数组,保存并标识被乘数和乘数;CPU端作为控制器为GPU端分配全局存储器空间和线程块共享存储空间,为GPU端设定网格结构,即线程块位数和线程位数,以及将所有的乘数与被乘数分批异步传输至GPU全局存储器;启动GPU,GPU端作为处理器在GPU中,将全局存储器中的每对被乘数和乘数分别拷贝到每个线程块,每个线程块对每对乘法运算执行并行处理,得到M 对乘法的乘积,GPU将并行处理获得的乘积写回全局存储器;CPU端控制将全局存储器存储的数据分批异步传输至CPU内存。2.根据权利要求1所述的方法,其特征在于,所述每个线程块对每对乘法运算并行处理具体为将GPU端全局存储器中的被乘数和乘数以原始数据位数分段进行切割,将切割的一对被乘数和乘数放入一个线程块共享存储器上,在每个线...

【专利技术属性】
技术研发人员:李清都胡明杨芳艳唐宋冯鑫胡诗沂徐桂兰
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1