[发明专利]一种基于GPU虚拟化的资源复用方法、装置及设备有效
申请号: | 202010037822.2 | 申请日: | 2020-01-14 |
公开(公告)号: | CN110851285B | 公开(公告)日: | 2020-04-24 |
发明(设计)人: | 赵军平 | 申请(专利权)人: | 支付宝(杭州)信息技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/455 |
代理公司: | 北京晋德允升知识产权代理有限公司 11623 | 代理人: | 王戈 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 gpu 虚拟 资源 方法 装置 设备 | ||
1.一种基于GPU虚拟化的资源复用方法,应用于GPU虚拟化系统中的客户端,包括:
获取AI框架层发送的用于创建第一资源的第一API调用请求;
确定预先存储的与所述第一资源相匹配的数据所在的内存地址;所述与所述第一资源相匹配的数据包含对于所述第一资源的设置参数;
向所述AI框架层反馈所述与所述第一资源相匹配的数据所在的内存地址;
获取所述AI框架层发送的用于对所述第一资源进行设置的第二API调用请求;
向所述AI框架层反馈用于表示设置成功的消息;
获取所述AI框架层发送的用于基于所述第一资源进行计算的第三API调用请求;
基于所述第三API调用请求,生成针对所述第一资源的第一计算指令;
将所述第一计算指令以及所述与所述第一资源相匹配的数据发送至GPU驱动。
2.如权利要求1所述的方法,所述获取AI框架层发送的用于创建第一资源的API调用请求之前,还包括:
在AI任务启动后的预热阶段,获取AI框架层发送的用于创建第二资源的第四API调用请求;
创建所述第二资源,当所述第二资源对应的算子与所述第一资源对应的算子为不同迭代过程中的同一算子时,将所述第二资源对应的数据存储在所述内存地址;
向所述AI框架层反馈所述内存地址;
获取所述AI框架层发送的用于对所述第二资源进行设置的第五API调用请求;
基于所述第五API调用请求,对所述内存地址中的数据进行设置;
向所述AI框架层反馈用于表示设置成功的消息;
获取所述AI框架层发送的用于基于所述第二资源进行计算的第六API调用请求;
基于所述第六API调用请求,生成针对所述第二资源的第二计算指令;
将所述第二计算指令发送至GPU驱动。
3.如权利要求2所述的方法,所述获取所述AI框架层发送的用于基于所述第二资源进行计算的第六API调用请求之后,还包括:
获取所述AI框架层发送的用于对所述第二资源对应的数据进行删除的第七API调用请求;
保留所述第二资源对应的数据;
向所述AI框架层反馈用于表示删除成功的消息。
4.如权利要求1所述的方法,所述确定预先存储的与所述第一资源相匹配的数据所在的内存地址,具体包括:
确定所述第一API调用请求对应的计算流;
从所述计算流对应的队列中读取队首存储的地址指针;所述地址指针指向与所述第一资源相匹配的数据所在的内存地址。
5.如权利要求4所述的方法,所述从所述计算流对应的队列中读取队首存储的地址指针之后,还包括:
将所述地址指针从所述队列的队首删除;
将所述地址指针写入所述队列的队尾。
6.如权利要求3所述的方法,所述保留所述第二资源对应的数据之后,还包括:
确定所述第四API调用请求对应的计算流;
将所述第二资源对应的数据的存储地址的地址指针,写入所述计算流对应的队列中。
7.如权利要求1所述的方法,所述获取AI框架层发送的用于创建第一资源的第一API调用请求之前,还包括:
判断当前一轮的迭代过程是否计算完毕,得到判断结果;
所述获取AI框架层发送的用于创建第一资源的第一API调用请求,具体包括:
当所述判断结果表示当前一轮的迭代过程计算完毕时,获取AI框架层发送的用于创建第一资源的第一API调用请求。
8.如权利要求7所述的方法,所述判断当前一轮的迭代过程是否计算完毕,具体包括:
记录AI任务中的模型的第一层的输出结果的存储地址对应的第一地址指针;
在后向梯度传播过程中,监测当前的输入数据的存储地址对应的第二地址指针;
判断所述第二地址指针是否与所述第一地址指针相同。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于支付宝(杭州)信息技术有限公司,未经支付宝(杭州)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010037822.2/1.html,转载请声明来源钻瓜专利网。