[发明专利]基于kernel函数的时间开销模型构建方法及系统有效
申请号: | 201610816194.1 | 申请日: | 2016-09-09 |
公开(公告)号: | CN106502771B | 公开(公告)日: | 2019-08-02 |
发明(设计)人: | 王剑秦;王佳弘;林枝宏;孙瑞志 | 申请(专利权)人: | 中国农业大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 李相雨 |
地址: | 100193 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开一种基于kernel函数的时间开销模型构建方法及系统,首先将并行程序kernel函数的开销时间分为线程块的分配时间和kernel函数的执行时间两个部分,然后分别对这两部分时间进行分析,构建相应的时间方程;其中执行时间部分充分考虑到了计算与访存的重叠以及可能出现的各种情况,并提出两个并行度参数来对kernel函数的执行时间进行表示;最后将这两部分时间进行叠加,得到最终的kernel函数时间开销模型。用户通过该模型能够得到应用程序在GPU上的运行时间,便于广大用户及时分析待移植的程序,合理安排工作,同时也有利于GPU的有效利用,避免经济与时间上的损失。 | ||
搜索关键词: | 基于 kernel 函数 时间 开销 模型 构建 方法 系统 | ||
【主权项】:
1.一种基于kernel函数的时间开销模型构建方法,其特征在于,包括:S1、根据GPU的硬件结构和待移植的并行程序构造warp访存并行度WMPD,并计算所述并行程序在GPU上并行运行之前,kernel函数中的线程块block分配到GPU架构中流多处理器SM上的时间,记为分配时间;S2、根据所述warp访存并行度WMPD计算所述并行程序在GPU上的实际执行时间,记为执行时间;S3、根据所述分配时间和执行时间构建基于GPU编程模型中kernel函数的时间开销模型;其中,所述WMPD的计算公式为
其中,NMax_Active_Blocks_per_SM为每个SM上最大活动线程块数量,dGrid为线程块的总数量,NSMs为GPU架构中流多处理器的数量,dBlock为每个线程块中线程的数量,warpSize为每个warp中的线程数目;所述分配时间Tinit的计算公式为Tinit=dGrid×Tallo,其中,Tallo为每个线程块被分配到SM上的时间;所述执行时间TGPU的计算公式为
其中,TC为每个线程的计算时间,TC=Comp_Cycle×Comp_insts,Comp_Cycle为执行每条计算语句的时间,Comp_insts为每个线程中计算指令数,
NThreads为线程的总数量,N为每个流多处理器上分配到的线程块个数,TM为每个线程的访存时间,TM=Mem_Cycle×Mem_insts,Mem_Cycle为执行每条访存语句的时间,Mem_insts为每个线程中访存指令数。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国农业大学,未经中国农业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610816194.1/,转载请声明来源钻瓜专利网。