发明名称 |
一种基于Kepler架构的CUDA运行时参数透明优化方法 |
摘要 |
本发明实施例提供了一种基于Kepler架构的CUDA运行时参数透明优化选择方法,涉及CUDA编程技术领域,可以节省核函数获得性能优化的配置运行时参数所用时间。所述方法包括:后台服务端解封截获端发送过来的封装后的调用请求,获得核函数的运行时参数信息;后台服务端根据核函数的运行时参数信息计算出核函数所需线程总数,从而确定其所属线程数等级;然后根据所确定的线程数等级来修改线程块的大小,进而计算获得修改后的线程块数量和修改后的共享内存大小;最后,后端服务器将修改后的核函数运行时参数与核函数执行部分发送给后台服务端的CUDA运行时层进行执行。 |
申请公布号 |
CN104102513A |
申请公布日期 |
2014.10.15 |
申请号 |
CN201410341238.0 |
申请日期 |
2014.07.18 |
申请人 |
西北工业大学 |
发明人 |
杨刚;王严;杜三盛;张策 |
分类号 |
G06F9/445(2006.01)I |
主分类号 |
G06F9/445(2006.01)I |
代理机构 |
|
代理人 |
|
主权项 |
一种基于Kepler架构的CUDA运行时参数透明优化方法,其特征在于,包括:CUDA运行时截获端截获CUDA应用对运行时的调用请求,并将截获到的所述调用请求封装传递给后台服务端;所述后台服务端解封所述截获端发送过来的封装后的调用请求,获得核函数的运行时参数信息;其中,所述核函数的运行时参数信息包括线程块个数、线程块大小、共享内存大小;所述后台服务端根据Kepler架构GPU的硬件特点将总线程数按由少到多划分为4个线程数等级,并根据所述核函数的运行时参数信息计算出核函数所需线程总数,从而确定其所属线程数等级;所述后台服务端根据所确定的线程数等级来修改线程块的大小,然后根据修改后的线程块的大小计算获得修改后的线程块数量和修改后的共享内存大小;所述后端服务器将修改后的核函数运行时参数与核函数执行部分发送给后台服务端的CUDA运行时层进行执行,其中,所述修改后的核函数运行时参数包括修改后的线程块的大小、修改后的线程块数量和修改后的共享内存大小。 |
地址 |
710072 陕西省西安市友谊西路127号404信箱 |