System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 用于软硬件适配的方法、计算装置、介质和程序产品制造方法及图纸_技高网

用于软硬件适配的方法、计算装置、介质和程序产品制造方法及图纸

技术编号:41404629 阅读:5 留言:0更新日期:2024-05-20 19:30
本发明专利技术涉及一种用于软硬件适配的方法、计算装置、介质和程序产品。该方法包括:获取操作指令所涉及的算子;将所获取的算子缓存在缓冲区,以形成原始算子序列,原始算子序列包括多个算子;针对所缓存的原始算子序列中的算子进行融合模式匹配,以便针对融合模式匹配成功的算子进行融合,用以获得经由融合而更新的算子序列,所述经由融合而更新的算子序列包括融合算子;以及在执行器中针对经由融合而更新的算子序列进行执行。本发明专利技术不仅能够实现软硬件适配的工作量可控,而且保持了不同算子在执行方式上的灵活性。

【技术实现步骤摘要】

本专利技术的实施例总体上涉及人工智能领域,更具体地涉及一种用于软硬件适配的方法、计算装置、计算机可读存储介质和计算机程序产品。


技术介绍

1、随着人工智能技术,特别是深度学习技术的日趋成熟和应用落地,越来越多的模型被开发了出来。如何快速在各类加速硬件中支持种类繁多的模型,以使得软硬件快速而稳定地适配,在技术上变得尤为关键。

2、传统的用于软硬件适配的方法主要包括两种。第一种是将所有后端算子在新硬件平台逐一实现的方式。第二种是采用ai编译器提前生成静态执行图的方式。针对第一种方式,当深度学习框架增加新硬件支持时,需要将所有后端算子在新硬件平台上实现一遍。但后端算子数量繁多,因此,第一种方式通常带来巨大的工作量。针对第二种方式,需要采用ai编译器先生成静态执行图,再在静态图优化基础上,通过针对大算子进行分解,使其分解到一个闭包小算子集合中,再在小算子基础上进行进一步优化。在第二种方案中,虽然可以实现少量算子能被新硬件所支持,但由于需要借用ai编译器提前生成静态图,并且后继工作都基于静态图进行,即所有算子都必须遵照统一的方式执行,因此,其失去了不同的算子在不同的执行方式下执行的灵活性,同时在算子粒度控制上难以做到可控。

3、综上,传统的用于软硬件适配的方法存在的不足之处在于:实现软硬件适配的工作量巨大,并且针对不同算子在执行方式缺乏灵活性。


技术实现思路

1、本专利技术提供了一种用于软硬件适配的方法、计算装置、计算机可读存储介质和计算机程序产品,不仅能够实现软硬件适配的工作量可控,而且保持了不同算子在执行方式上的灵活性。

2、根据本专利技术的第一方面,提供了一种用于软硬件适配的方法。该方法包括:获取操作指令所涉及的算子;将所获取的算子缓存在缓冲区,以形成原始算子序列,原始算子序列包括多个算子;针对所缓存的原始算子序列中的算子进行融合模式匹配,以便针对融合模式匹配成功的算子进行融合,用以获得经由融合而更新的算子序列,所述经由融合而更新的算子序列包括融合算子;以及在执行器中针对经由融合而更新的算子序列进行执行。

3、在一些实施例中,针对融合模式匹配成功的算子进行融合,用以获得经由融合而更新的算子序列包括:针对融合模式匹配成功的算子进行融合,以便生成所述融合算子;以及利用所述融合算子更新原始算子序列,以便形成经由融合而更新的算子序列,所述经由融合而更新的算子序列还包括原始算子序列中的、融合模式匹配失败的算子。

4、在一些实施例中,用于软硬件适配的方法还包括:基于元算子集合,针对所述融合算子和融合模式匹配失败的算子进行分解,以便获得元算子序列,所述元算子集合包括多个元算子,所述元算子的粒度小于融合算子的粒度。

5、在一些实施例中,用于软硬件适配的方法还包括:将元算子序列和分解失败的算子在执行器中进行执行。

6、在一些实施例中,针对所述融合算子和融合模式匹配失败的算子进行分解,以便获得元算子序列包括:确定硬件是否支持所述融合算子和融合模式匹配失败的算子;以及响应于确定硬件不支持所述融合算子和融合模式匹配失败的算子,针对所述融合算子和融合模式匹配失败的算子进行分解,以便获得元算子序列。

7、在一些实施例中,用于软硬件适配的方法还包括:获取硬件配置信息;基于硬件配置信息,确定硬件是否满足预定条件;响应于硬件满足预定条件,在执行器中针对经由融合而更新的算子序列进行执行;以及响应于硬件不满足预定条件,在执行器中针对元算子序列和分解失败的算子进行执行。

8、根据本专利技术的第二方面,还提供了一种计算装置。该计算装置包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使计算装置能够执行本专利技术的第一方面的方法。

9、根据本专利技术的第三方面,还提供了一种计算机可读存储介质。该计算机可读存储介质上存储有计算机程序,计算机程序被机器执行时执行本专利技术的第一方面的方法。

10、根据本专利技术的第四方面,还提供了一种计算机程序产品,包括计算机程序,计算机程序被机器执行时执行本专利技术的第一方面的方法。

11、应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。

本文档来自技高网...

【技术保护点】

1.一种用于软硬件适配的方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,针对融合模式匹配成功的算子进行融合,用以获得经由融合而更新的算子序列包括:

3.根据权利要求2所述的方法,其特征在于,还包括:

4.根据权利要求3所述的方法,其特征在于,还包括:

5.根据权利要求3所述的方法,其特征在于,针对所述融合算子和融合模式匹配失败的算子进行分解,以便获得元算子序列包括:

6.根据权利要求3所述的方法,其特征在于,还包括:

7.一种计算装置,其特征在于,包括:

8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被机器执行时执行根据权利要求1-6中任一项所述的方法。

9.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被机器执行时执行根据权利要求1-6中任一项所述的方法。

【技术特征摘要】

1.一种用于软硬件适配的方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,针对融合模式匹配成功的算子进行融合,用以获得经由融合而更新的算子序列包括:

3.根据权利要求2所述的方法,其特征在于,还包括:

4.根据权利要求3所述的方法,其特征在于,还包括:

5.根据权利要求3所述的方法,其特征在于,针对所述融合算子和融合模式匹配失败的算子进行分解,以便获得...

【专利技术属性】
技术研发人员:请求不公布姓名请求不公布姓名请求不公布姓名请求不公布姓名请求不公布姓名请求不公布姓名请求不公布姓名
申请(专利权)人:北京壁仞科技开发有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1