[发明专利]一种基于消除OpenCL运行时开销提高GPU程序性能的方法在审

专利信息
申请号: 202210465374.5 申请日: 2022-04-29
公开(公告)号: CN114968253A 公开(公告)日: 2022-08-30
发明(设计)人: 谢昌刚;魏大洲;李威;曲国远;李堃;童歆 申请(专利权)人: 中国航空无线电电子研究所
主分类号: G06F8/41 分类号: G06F8/41
代理公司: 中国航空专利中心 11008 代理人: 卫媛媛
地址: 200233 *** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 消除 opencl 运行 开销 提高 gpu 程序 性能 方法
【权利要求书】:

1.一种基于消除OpenCL运行时开销提高GPU程序性能的方法,其特征在于,所述方法包括:

步骤1:构建OpenCL Kernel(内核)编译后代码的高效缓存机制,所述高效缓存机制包括缓存方式和缓存数据结构;

步骤2:根据所述高效缓存机制,确定快速查找策略、更新策略及新节点插入方法;

步骤3:根据所述快速查找策略、更新策略及新节点插入方法,确定启发式搜索队列的定义、启发式搜索队列的创建及启发式搜索队列的使用;

步骤4:根据所述启发式搜索队列,确定运行时对缓存的使用策略,包含查找启发式搜索队列和查找缓存队列,自动判断待调用的OpenCL Kernel是否需要编译,如果不需要,则返回已经编译好的OpenCL Kernel;否则调用OpenCL Kernel编译接口,对该OpenCL Kernel进行编译,最终实现有效消除OpenCL运行时开销。

2.根据权利要求1所述的方法,其特征在于,所述确定缓存方式包括:

OpenCL Kernel采用key-value的方式进行缓存,其中,key为kernel name(内核名称)+编译参数,作为OpenCL Kernel的唯一确认符;value为编译好的OpenCL Kernel。

3.根据权利要求1所述的方法,其特征在于,所述确定缓存数据结构包括:

采用链表队列作为存储OpenCL Kernel的高速缓存方式。

4.根据权利要求1所述的方法,其特征在于,所述快速查找策略包括:

直接通过Key值进行比较,如果比对成功,直接返回编译好的OpenCL Kernel,同时根据预先定义的更新策略更新整个队列;如果比对不成功,则返回NULL。

5.根据权利要求4所述的方法,其特征在于,更新策略包括:

如果比对成功的节点为链表的前5个节点,则队列保持不变;

如果比对成功的节点不是链表的前5个节点,则将所述比对成功的节点插入到链表的首部。

6.根据权利要求5所述的方法,其特征在于,新节点插入方法包括:

新节点插入到队列的第5位置。

7.根据权利要求1所述的方法,其特征在于,所述启发式搜索队列的定义包括:

启发式搜索队列只包含kernel缓存队列中常用的kernel序列,采用key-value的链表表示,启发式搜索队列包含了应用中OpenCL Kernel的调用顺序,具有重复的kernel缓存节点,启发式搜索队列具有最大长度N。

8.根据权利要求1所述的方法,其特征在于,所述启发式搜索队列的创建包括:

OpenCL程序每次调用kernel时,将对应的kernel节点插入到启发式搜索队列中,当启发式队列的长度等于2*N后,采用KMP(Knuth-Morris-Pratt,字符串查找)算法获得最小重复队列,所述最小重复队列就是启发式搜索队列。

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国航空无线电电子研究所,未经中国航空无线电电子研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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