System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 执行代码的方法、数据处理装置及系统制造方法及图纸_技高网

执行代码的方法、数据处理装置及系统制造方法及图纸

技术编号:41749463 阅读:2 留言:0更新日期:2024-06-21 21:34
本发明专利技术提供一种执行代码的方法、数据处理装置及系统,其中该方法包括通过数据处理装置将由编译器解析目标模型而获得的分别对应于多个函数的多个可执行文件以及多个调用信息存储至主存储器,并通过数据处理装置运行目标模型,其中通过数据处理装置运行目标模型包括:基于多个函数的运行顺序,自所述主存储器中,将一个可执行文件加载至本地存储器的应用代码区,并将对应的一个调用信息加载至本地存储器的栈区;基于栈区的调用信息来运行应用代码区的可执行文件,并在运行完成后,将运行结果自本地存储器传送至主存储器。本申请在代码量超过本地存储器的大小的情况下,仍可灵活地把目标模型的代码段和数据段存放在本地存储器上。

【技术实现步骤摘要】

本专利技术涉及人工智能和大数据领域,尤其涉及一种执行代码的方法、数据处理装置及系统


技术介绍

1、在例如单片系统(system on a chip,soc)的嵌入式系统中,为了减少内存访问延迟,通常使用本地内存(即本地存储器,例如静态随机存取存储器(static random accessmemory,sram))来加载程序的代码和数据。然而,由于成本和功耗的限制,嵌入式系统中的本地内存的大小是有限的。而随着人工智能和大数据的快速发展,其相关算法也变化很快,其所采用的函数/算子是不可预知的,而且算法对应的代码越来越多,需要的存储空间越来越大,本地内存有限的存储空间已经无法匹配其快速增长的存储需求。因此,如何在函数/算子是不可预知情况下,仍可以将代码存储在本地内存中,即使代码量超过本地内存的大小,成为亟待解决的问题。


技术实现思路

1、本专利技术是针对一种执行代码的方法、数据处理装置及系统,可灵活地把目标模型的代码段和数据段存放在本地存储器上。

2、根据本专利技术的实施例,执行代码的方法包括:通过数据处理装置将由主机中的编译器解析目标模型而获得的分别对应于多个函数的多个可执行文件以及多个调用信息存储至主存储器,其中所述数据处理装置包括所述主存储器以及本地存储器,所述本地存储器包括应用代码区以及栈区;通过所述数据处理装置运行所述目标模型。其中,通过所述数据处理装置运行所述目标模型包括:基于多个函数的运行顺序,自所述主存储器中,将所述多个可执行文件中的一个可执行文件加载至所述应用代码区,并将所述多个调用信息中与加载至所述应用代码区的一个可执行文件对应的一个调用信息加载至所述栈区;基于加载至所述栈区的调用信息来运行加载至所述应用代码区的可执行文件;在运行完成后,将运行结果自所述本地存储器传送至所述主存储器。

3、在根据本专利技术的实施例的执行代码的方法中,所述应用代码区划分为第一缓冲区以及第二缓冲区,所述栈区划分为第一栈区以及第二栈区。通过所述数据处理装置运行所述目标模型,包括:基于所述运行顺序,自所述主存储器中,将所述多个可执行文件中的第一可执行文件加载至所述第一缓冲区,并将所述多个调用信息中与所述第一可执行文件对应的所述第一调用信息加载至所述第一栈区;基于存放在所述第一栈区的所述第一调用信息来运行存放在所述第一缓冲区的所述第一可执行文件,并在所述第一可执行文件的运行期间,自所述主存储器中将所述多个可执行文件中的第二可执行文件加载至所述第二缓冲区,并将所述多个调用信息中与所述第二可执行文件对应的所述第二调用信息加载至所述第二栈区;以及在所述第一可执行文件的运行完毕之后,基于存放在所述第二栈区的所述第二调用信息,运行存放在所述第二缓冲区的所述第二可执行文件。

4、在根据本专利技术的实施例的执行代码的方法中,通过所述数据处理装置运行所述目标模型还包括:在所述第二可执行文件的运行期间,自所述主存储器中将所述多个可执行文件中的第三可执行文件加载并覆盖至所述第一缓冲区,并将所述多个调用信息中与所述第三可执行文件对应的第三调用信息加载并覆盖至所述第一栈区;以及在所述第二可执行文件的运行完毕之后,基于存放在所述第一栈区的所述第三调用信息,运行存放在所述第一缓冲区的所述第三可执行文件。

5、在根据本专利技术的实施例的执行代码的方法中,所述本地存储器还包括存储固件的固件区。基于加载至所述栈区的调用信息来运行加载至所述应用代码区的可执行文件,包括:通过所述固件基于加载至所述栈区的调用信息来运行加载至所述应用代码区的可执行文件。

6、在根据本专利技术的实施例的执行代码的方法中,所述固件为动态加载管理器。在通过所述数据处理装置运行所述目标模型之前,还包括:将所述动态加载管理器加载至所述固件区。

7、在根据本专利技术的实施例的执行代码的方法中,通过所述数据处理装置运行所述目标模型,还包括:通过所述固件配置的第一直接内存访问(direct memory access,dma)引擎将所述可执行文件及所述调用信息自所述主存储器加载至所述本地存储器;通过所述固件配置的第二dma引擎将所述运行结果自所述本地存储器传送至所述主存储器。

8、在根据本专利技术的实施例的执行代码的方法中,所述目标模型为人工智能模型,每一所述可执行文件包括对应于每一函数的代码段和数据段,每一所述调用信息包括对应于每一所述多个代码段的调用变量。

9、根据本专利技术的实施例,数据处理装置包括:主存储器,存储由主机中的编译器解析目标模型而获得的分别对应多个函数的多个可执行文件以及多个调用信息;本地存储器,包括栈区以及应用代码区;处理器。所述处理器经配置以:基于多个函数的运行顺序,自所述主存储器中将所述多个可执行文件中的一个可执行文件加载至所述应用代码区,并将所述多个调用信息中与加载至所述应用代码区的一个可执行文件对应的一个调用信息加载至所述栈区;基于加载至所述栈区的调用信息来运行加载至所述应用代码区的可执行文件;以及在运行完成后,将运行结果自所述本地存储器传送至所述主存储器。

10、根据本专利技术的实施例,数据处理系统包括:主机,通过编译器解析目标模型而获得分别对应于多个函数的多个可执行文件以及多个调用信息;以及所述数据处理装置。

11、基于上述,本申请可以在软件/硬件规模不受限的情况下,灵活的把目标模型的代码段和数据段放在数据处理装置内的本地存储器上。相比传统方案,实现了更好的灵活性和性能的平衡。

本文档来自技高网...

【技术保护点】

1.一种执行代码的方法,其特征在于,包括:通过数据处理装置将由主机中的编译器解析目标模型而获得的分别对应于多个函数的多个可执行文件以及多个调用信息存储至主存储器,其中所述数据处理装置包括所述主存储器以及本地存储器,所述本地存储器包括应用代码区以及栈区;以及

2.根据权利要求1所述的执行代码的方法,其特征在于,所述应用代码区划分为第一缓冲区以及第二缓冲区,所述栈区划分为第一栈区以及第二栈区;

3.根据权利要求2所述的执行代码的方法,其特征在于,通过所述数据处理装置运行所述目标模型还包括:

4.根据权利要求l所述的执行代码的方法,其特征在于,所述本地存储器还包括存储固件的固件区;

5.根据权利要求4所述的执行代码的方法,其特征在于,所述固件为动态加载管理器;

6.根据权利要求4所述的执行代码的方法,其特征在于,通过所述数据处理装置运行所述目标模型,还包括:

7.根据权利要求l所述的执行代码的方法,其特征在于,所述目标模型为人工智能模型,每一所述可执行文件包括对应于每一函数的代码段和数据段,每一所述调用信息包括对应于每一代码段的调用变量。

8.一种数据处理装置,其特征在于,包括:

9.根据权利要求8所述的数据处理装置,其特征在于,所述应用代码区划分为第一缓冲区以及第二缓冲区,所述栈区划分为第一栈区以及第二栈区;

10.根据权利要求9所述的数据处理装置,其特征在于,所述处理器用于:

11.根据权利要求8所述的数据处理装置,其特征在于,所述本地存储器还包括存储固件的固件区;

12.根据权利要求11所述的数据处理装置,其特征在于,所述固件为动态加载管理器,所述数据处理装置在运行所述目标模型之前,将所述动态加载管理器加载至所述固件区。

13.根据权利要求11所述的数据处理装置,其特征在于,所述数据处理装置通过所述固件配置的第一直接内存访问引擎将所述可执行文件及所述调用信息自所述主存储器加载至所述本地存储器;

14.根据权利要求8所述的数据处理装置,其特征在于,所述目标模型为人工智能模型,每一所述可执行文件包括对应于每一函数的代码段和数据段,每一所述调用信息包括对应于每一所述代码段的调用变量。

15.一种数据处理系统,包括:

...

【技术特征摘要】

1.一种执行代码的方法,其特征在于,包括:通过数据处理装置将由主机中的编译器解析目标模型而获得的分别对应于多个函数的多个可执行文件以及多个调用信息存储至主存储器,其中所述数据处理装置包括所述主存储器以及本地存储器,所述本地存储器包括应用代码区以及栈区;以及

2.根据权利要求1所述的执行代码的方法,其特征在于,所述应用代码区划分为第一缓冲区以及第二缓冲区,所述栈区划分为第一栈区以及第二栈区;

3.根据权利要求2所述的执行代码的方法,其特征在于,通过所述数据处理装置运行所述目标模型还包括:

4.根据权利要求l所述的执行代码的方法,其特征在于,所述本地存储器还包括存储固件的固件区;

5.根据权利要求4所述的执行代码的方法,其特征在于,所述固件为动态加载管理器;

6.根据权利要求4所述的执行代码的方法,其特征在于,通过所述数据处理装置运行所述目标模型,还包括:

7.根据权利要求l所述的执行代码的方法,其特征在于,所述目标模型为人工智能模型,每一所述可执行文件包括对应于每一函数的代码段和数据段,每一所述调用信息包括对应于每一代码...

【专利技术属性】
技术研发人员:潘勇胥康
申请(专利权)人:澜起科技股份有限公司
类型:发明
国别省市:

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

1