[发明专利]通过替换指令集对应用软件进行加速的系统及方法在审
申请号: | 202110957299.X | 申请日: | 2021-08-19 |
公开(公告)号: | CN113805941A | 公开(公告)日: | 2021-12-17 |
发明(设计)人: | 姜汉;王臣汉 | 申请(专利权)人: | 贝式计算(天津)信息技术有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/48;G06F9/50 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 关向兰 |
地址: | 300000 天津市天津自贸试验区(东疆保税港区)重庆道以南,呼伦贝尔路以西铭海*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 通过 替换 指令 应用软件 进行 加速 系统 方法 | ||
1.一种通过替换指令集对应用软件进行加速的系统,其特征在于,所述系统包括:BLAS接口定义模块以及硬件调用模块;
所述BLAS接口定义模块,用于将初始BLAS库中使用CPU的第一指令集替换成使用GPU的第二指令集,得到目标BLAS库,基于所述目标BLAS库配置BLAS接口;
所述硬件调用模块,用于在接收到应用软件系统发起的计算任务时,通过所述BLAS接口和所述计算任务确定对应的目标指令集,在所述目标指令集属于第二指令集时,根据所述目标指令集分配GPU资源对所述计算任务进行处理。
2.如权利要求1所述的系统,其特征在于,所述BLAS接口定义模块,还用于获取初始BLAS库对应的接口调用方式,以及所述初始BLAS库中使用CPU的第一指令集对应的指令集信息;
所述BLAS接口定义模块,还用于根据所述指令集信息判断是否可将所述第一指令集替换为使用GPU的第二指令集;
所述BLAS接口定义模块,还用于在可将所述第一指令集替换为使用GPU的第二指令集时,将可替换的第一指令集作为待替换指令集,并根据所述待替换指令集对应的待替换指令集信息得到使用GPU的第二指令集;
所述BLAS接口定义模块,还用于根据所述第二指令集替换掉所述初始BLAS库中的待替换指令集,得到目标BLAS库;
所述BLAS接口定义模块,还用于根据所述接口调用方式和所述目标BLAS库配置BLAS接口。
3.如权利要求2所述的系统,其特征在于,所述硬件调用模块,还用于在所述目标指令集属于第一指令集时,根据所述目标指令集分配CPU资源对所述计算任务进行处理。
4.如权利要求2所述的系统,其特征在于,所述BLAS接口定义模块,还用于获取GPU对应的GPU硬件信息;
所述BLAS接口定义模块,还用于根据所述指令集信息确定所述第一指令集对应的运算方式,并根据所述GPU硬件信息判断所述GPU是否支持所述运算方式,得到判断结果;
所述BLAS接口定义模块,还用于根据所述判断结果判断是否可将所述第一指令集替换为使用GPU的第二指令集。
5.如权利要求4所述的系统,其特征在于,所述系统还包括驱动管理模块;
所述驱动管理模块,用于根据所述GPU硬件信息确定对应的目标驱动,并对所述目标驱动进行配置;
所述硬件调用模块,还用于在所述目标指令集属于第二指令集时,根据所述目标指令集和所述目标驱动分配GPU资源对所述计算任务进行处理。
6.一种通过替换指令集对应用软件进行加速的方法,其特征在于,所述方法适用于如权利要求1至5中任一项所述的系统,所述系统包括:BLAS接口定义模块以及硬件调用模块;
所述方法包括以下步骤:
所述BLAS接口定义模块将初始BLAS库中使用CPU的第一指令集替换成使用GPU的第二指令集,得到目标BLAS库,基于所述目标BLAS库配置BLAS接口;
所述硬件调用模块在接收到应用软件系统发起的计算任务时,通过所述BLAS接口和所述计算任务确定对应的目标指令集,在所述目标指令集属于第二指令集时,根据所述目标指令集分配GPU资源对所述计算任务进行处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贝式计算(天津)信息技术有限公司,未经贝式计算(天津)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110957299.X/1.html,转载请声明来源钻瓜专利网。