全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210705825.8 (22)申请日 2022.06.21 (71)申请人 清华大学 地址 100084 北京市海淀区清华园1号 (72)发明人 施路平 林俊峰 张伟豪 马松辰  (74)专利代理 机构 北京林达刘知识产权代理事 务所(普通 合伙) 11277 专利代理师 刘新宇 (51)Int.Cl. G06F 8/41(2018.01) G06F 9/445(2018.01) G06N 3/063(2006.01) (54)发明名称 神经网络任务的代码生成方法和装置 (57)摘要 本公开涉及一种神经网络任务的代码生成 方法和装置, 通过确定神经网络任务对应的任务 映射图, 根据执行神经网络任务中每个子任务的 计算核的硬件位置初始化硬件配置文件, 硬件配 置文件中包括每个计算核的指令流 以及寄存器 参数。 再根据任务映射图配置硬件配置文件中每 个计算核对应指令流中的计算指令、 数据读写指 令、 数据移动指令、 路由指令中至少一个子任务 指令以及寄存器参数, 得到神经网络任务的执行 代码。 本公开实施例提供了一种面向神经网络任 务的众核架构的代码生成方案, 通过确定神经网 络任务对应任务映射图, 并根据任务映射图映射 的方式配置每个计算核的指令流和寄存器参数, 得到包括多个 计算核的硬件系统的可 执行代码。 权利要求书2页 说明书13页 附图7页 CN 115098107 A 2022.09.23 CN 115098107 A 1.一种神经网络任务的代码生成方法, 用于包括多个计算核的电子设备, 其特征在于, 所述方法包括: 确定神经网络任务对应的任务映射图, 所述任务映射图用于表征所述神经网络任务中 每个子任务的类型、 执行每个所述子任务的计算核、 所述计算核执行对应子任务的时间顺 序、 以及每 个所述子任务的参数信息; 根据执行每个所述子任务的计算核的硬件位置初始化硬件配置文件, 所述硬件配置文 件中包括每个所述计算核的指令流以及寄存器参数, 所述指令流包括计算指令、 数据读写 指令、 数据移动指令和路由指令中至少一个子任务指令; 根据所述任务映射图配置所述硬件配置文件中每个所述计算核对应的计算指令、 数据 读写指令、 数据移动 指令、 路由指令中至少一个子任务指 令以及寄存器参数, 得到所述神经 网络任务的执 行代码。 2.根据权利要求1所述的方法, 其特征在于, 所述根据执行每个所述子任务的计算核的 硬件位置初始化硬件配置文件, 包括: 根据所述任务映射图确定所述神经网络任务中每个子任务对应的计算核为目标计算 核; 初始化包括每个所述目标计算核对应配置信 息的硬件配置文件, 每个所述计算核的配 置信息在所述硬件配置文件中的位置根据所述计算核在所述电子设备中的硬件位置确定, 所述配置信息中包括所述计算核对应的指令流和寄存器参数。 3.根据权利要求1或2所述的方法, 其特征在于, 所述计算指令根据所述计算核对应子 任务的参数信息配置 。 4.根据权利要求1 ‑3中任意一项所述的方法, 其特征在于, 所述数据读写指令 中包括内 存地址、 内存长度和读写方式, 所述内存地址和内存长度通过预设的内存分配规则和对应 的参数信息分配得到 。 5.根据权利要求4所述的方法, 其特征在于, 所述内存地址对应的内存区域中包括数据 区、 代码区和收发区, 所述数据区用于存储动态数据和/或静态数据, 所述代码区用于存储 所述计算核执行 的指令流和指令参数, 所述收发区用于存储所述计算核发送的数据和/或 接收的数据。 6.根据权利要求1 ‑5中任意一项所述的方法, 其特征在于, 所述数据移动指令用于在计 算核内进行 数据搬运, 所述路由指令用于在不同计算核之间进行 数据传输 。 7.根据权利要求1 ‑6中任意一项所述的方法, 其特征在于, 所述寄存器参数根据每个所 述子任务对应的计算核的硬件位置, 以及每个所述计算核执行对应子任务的时间顺序确 定。 8.根据权利要求1 ‑7中任意一项所述的方法, 其特征在于, 所述根据 所述任务映射图配 置所述硬件配置文件中每个所述计算核对应的计算指令、 数据读写指 令、 数据移动 指令、 路 由指令以及寄存器参数, 得到所述神经网络任务的执 行代码, 包括: 根据所述任务映射图配置所述硬件配置文件中每个所述计算核对应的计算指令、 数据 读写指令、 数据移动指令、 路由指令以及寄存器参数; 根据预设的优化规则对完成配置的所述硬件配置文件进行优化, 得到所述神经网络任 务的执行代码。权 利 要 求 书 1/2 页 2 CN 115098107 A 29.根据权利要求8所述的方法, 其特征在于, 所述预设的优化规则通过以下至少一种方 式对硬件配置文件进 行优化: 生成多网络执行控制 信息、 调试硬件开关、 关闭结束任务处理 的计算核、 填充静态数据、 优化计算核中组件的流水线以及生成多个计算核的输入和/或输 出的参数配置 。 10.一种神经网络任务的代码生成装置, 用于包括多个计算核的电子设备, 其特征在 于, 所述装置包括: 映射图确定模块, 用于确定神经网络任务对应的任务映射图, 所述任务映射图用于表 征所述神经网络任务中每个子任务的类型、 执行每个所述子任务的计算核、 所述计算核执 行对应子任务的时间顺序、 以及每 个所述子任务的参数信息; 文件初始化模块, 用于根据 执行每个所述子任务的计算核的硬件位置初始化硬件配置 文件, 所述硬件配置文件中包括每个所述计算核的指令流以及寄存器参数, 所述指令流包 括计算指令、 数据读写指令、 数据移动指令和路由指令中至少一个子任务指令; 代码生成模块, 用于根据所述任务映射图配置所述硬件配置文件中每个所述计算核对 应的计算指令、 数据读写指 令、 数据移动 指令、 路由指 令中至少一个子任务指 令以及寄存器 参数, 得到所述神经网络任务的执 行代码。 11.一种电子设备, 其特 征在于, 包括: 处理器; 用于存储处理器可执行指令的存 储器; 其中, 所述处理器被配置为在执行所述存储器存储的指令时, 实现权利要求1至9中任 意一项所述的方法。 12.一种非易失性计算机可读存储介质, 其上存储有计算机程序指令, 其特征在于, 所 述计算机程序指令被处 理器执行时实现权利要求1至9中任意 一项所述的方法。权 利 要 求 书 2/2 页 3 CN 115098107 A 3

.PDF文档 专利 神经网络任务的代码生成方法和装置

文档预览
中文文档 23 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共23页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 神经网络任务的代码生成方法和装置 第 1 页 专利 神经网络任务的代码生成方法和装置 第 2 页 专利 神经网络任务的代码生成方法和装置 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 00:06:50上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。