[发明专利]一种调度GPU进行批量运算的方法及装置在审

专利信息
申请号: 201510673433.8 申请日: 2015-10-19
公开(公告)号: CN105224410A 公开(公告)日: 2016-01-06
发明(设计)人: 吴庆国 申请(专利权)人: 成都卫士通信息产业股份有限公司
主分类号: G06F9/50 分类号: G06F9/50;G06F9/48
代理公司: 成都九鼎天元知识产权代理有限公司 51214 代理人: 徐静
地址: 610041 四*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 调度 gpu 进行 批量 运算 方法 装置
【说明书】:

技术领域

发明涉及GPU并行计算领域,尤其是一种调度GPU进行批量运算的方法及装置。

背景技术

GPU(GraphicsProcessingUnit,图形处理单元)可以理解为可编程的显卡,在计算机中用于图形图像的处理。经过最近几年的发展,GPU已经不限于图形图像处理,还应用到大规模的并行计算领域,使用GPU并行计算技术,有可能使算法的性能获得数倍的提升。

单块GPU通常具有成百上千的CORE(核心运算单元),远远超过CPUCORE的数量,GPU非常适合于执行可高度并行化的密集型计算任务,相比同价位的CPU而言,GPU所用用的CORE数可比CPU高数百倍,使用GPU执行这些任务,往往能提升数倍的性能。GPU技术未来将改变商业应用、科学计算、云计算、计算机可视化系统、游戏和机器人等领域,甚至重新定义我们所熟知的计算机编程方式。

GPU虽然具有比CPU更多的CORE,但由于GPU内部是以16个CORE为一组单位进行调度的,也就是说,即使一个任务只需要一个CORE,但在GPU内部,仍然会最少占用16个CORE。因此,需要批量地向GPU提交运算任务,才能同时调度更多的CORE进行运算;并且,并发的任务数越大,越能减小GPU和主机内存的交互、越能减小GPU内部的调度开销,越能实现更高的运算性能。即使采用多线程调用GPU,但每个线程交给GPU的任务只调度一个GPUCORE参与运算,这种调度方式与批量交给GPU任务,让GPU的每个CORE都参与运算相比,其性能差距可能比后者上千倍。

我们基于CPU体系架构的应用程序,通常是采用多进程或多线程来处理多个任务,在收到一个任务后,就会调用CPU进行一次运算,而不需要将任务缓存到一起批量调用执行运算,因为这样不会带来性能提升,反而会大大增加程序的复杂度。而使用GPU则不同,GPU需要批量向其提交运算任务才能充分发挥其性能,然而,现有应用程序要改造成通过缓存批量向GPU提交任务的模式,具有相当大的难度。

发明内容

本发明所要解决的技术问题是:针对现有技术存在的问题,提供一种调度GPU进行批量运算的方法及装置,本发明设计了独立的GPU调度模块,该模块对外提供API,API与GPU调度模块之间通过进程间通信机制进行通信,应用模块通过调用API向GPU调度模块发送运算任务,GPU调度模块将一个处理周期收到的计算任务缓存起来,等到GPU处理完成上一批次计算任务后,再将缓存的计算任务批量提交给GPU,然后API应用模块采用同步模式或者异步模式完成计算任务的后续操作。充分发挥GPU的运算能力,并提升GPU的内存访问性能。

本发明采用的技术方案如下:

一种调度GPU进行批量运算的方法包括:

步骤1:GPU调度模块与API应用模块通过进程间通讯机制进行通信;

步骤2:API应用模块向GPU调度模块发送运算任务,GPU调度模块将一个周期收到的计算任务在缓存中存储;当GPU处理完成上一批次计算任务后,GPU调度模块将缓存的计算任务批量提交给GPU,然后API应用模块采用同步模式或者异步模式完成计算任务的后续操作。

进一步的,所述步骤2中计算任务在缓存中存储时,分别将类型相同的计算任务存在同一组中,每组缓存中的计算任务独立提交给GPU进行批量运算。

进一步的,所述每组缓存均为双缓存,即在用缓存和备用缓存;备用缓存用于存放新接收到的计算任务,GPU运算完成后,将运算结果放入在用缓存,将计算结果发给API应用模块,随即将备用缓存中的数据批量交给GPU执行,备用缓存变为在用缓存,原来的在用缓存变为备用缓存,用于新接收到任务。

进一步的,所述在用缓存和备用缓存都为不同参数建立对应的缓存区,使每个相同参数都存放在连续的地址空间中。

进一步的,所述步骤2中同步模式指的是API应用模块向GPU调度模块发送运算任务后,等待GPU调度模块执行完运算任务后向API应用模块返回计算结果;异步模式是API应用模块向GPU调度模块发送运算任务后,不等待运算完成直接返回,当GPU调度模块运算完成并返回运算结果后,API应用模块以回调的方式完成运算结果的处理。

一种调度GPU进行批量运算的装置包括:

API应用模块,用于向GPU调度模块发送运算任务;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都卫士通信息产业股份有限公司,未经成都卫士通信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201510673433.8/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top