[发明专利]多处理器系统的编程流程在审
申请号: | 201880084639.9 | 申请日: | 2018-11-01 |
公开(公告)号: | CN111566616A | 公开(公告)日: | 2020-08-21 |
发明(设计)人: | M·L·普奈尔;G·N·埃里斯;T-L·王 | 申请(专利权)人: | 相干逻辑公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/50 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 刘前红 |
地址: | 美国得*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理器 系统 编程 流程 | ||
1.一种方法,包括:
使用应用源代码执行前端编译以生成多个中间表示和连接性信息,其中所述多个中间表示中的特定中间表示对应于多个任务中的特定任务,其中所述连接性信息包括多个连接,并且其中特定连接指定所述多个任务中的第一任务与所述多个任务中的第二任务之间的通信;
使用所述多个中间表示和所述连接性信息将所述应用源代码中包括的逻辑对象映射到多处理器阵列中包括的物理资源以生成资源映射;
针对所述多个连接中的每个连接选择相应的实现;
使用所述多个中间表示执行第一优化操作以生成多个经优化的中间表示;
使用所述多个经优化的中间表示生成可执行代码;以及
将所述可执行代码加载到所述多处理器阵列上。
2.根据权利要求1所述的方法,其中执行所述前端编译包括:
解析所述应用源代码以生成初始中间表示;
使用所述初始中间表示执行至少一个第二优化操作以生成所述多个中间表示;
使用所述多个中间表示,标识所述多个任务之间的连接性以生成所述多个连接;以及
将所述多个中间表示和连接性信息存储在项目数据库中。
3.根据权利要求1所述的方法,其中,所述多处理器阵列包括多个处理器,其中所述多个处理器中的特定处理器包括数据存储器,并且其中映射所述逻辑对象包括:
将所述多个任务中的特定任务分配给所述多个处理器中的特定处理器;以及
将与所述特定任务相关联的变量分配给所述数据存储器。
4.根据权利要求1所述的方法,其中针对所述多个连接中的每个连接选择相应的实现包括:选择用于将数据从发送器传送到所述多个连接中的特定连接中包括的接收器的直接存储器访问。
5.根据权利要求1所述的方法,其中所述多处理器阵列包括多个处理器,并且其中使用所述多个中间表示执行所述第一优化操作以生成所述多个经优化的中间表示包括:对多个指令的循环进行矢量化以利用所述多个处理器的子集。
6.根据权利要求1所述的方法,还包括:
仿真所述可执行代码以生成仿真结果;以及
基于所述仿真结果修改至少所述应用源代码。
7.一种计算机系统,包括:
一个或多个存储器,被配置为存储指令;以及
一个或多个处理器,被配置为从所述一个或多个存储器接收指令并且执行所述指令以使所述计算机系统执行包括以下的操作:
使用应用源代码执行前端编译以生成多个中间表示和连接性信息,其中所述多个中间表示中的特定中间表示对应于多个任务中的特定任务,其中所述连接性信息包括多个连接,并且其中特定连接指定所述多个任务中的第一任务与所述多个任务中的第二任务之间的通信;
使用所述多个中间表示和所述连接性信息将所述应用源代码中包括的逻辑对象映射到多处理器阵列中包括的物理资源,以生成资源映射;
针对所述多个连接中的每个连接选择相应的实现;
使用所述多个中间表示执行第一优化操作以生成多个经优化的中间表示;以及
使用所述多个经优化的中间表示生成可执行代码。
8.根据权利要求7所述的计算机系统,其中执行所述前端编译包括:
解析所述应用源代码以生成初始中间表示;
使用所述初始中间表示执行至少一个第二优化操作以生成所述多个中间表示;
使用所述多个中间表示,标识所述多个任务之间的连接性以生成所述多个连接;以及
将所述多个中间表示和连接性信息存储在项目数据库中。
9.根据权利要求7所述的计算机系统,其中所述多处理器阵列包括多个处理器,其中所述多个处理器中的特定处理器包括数据存储器,并且其中映射所述逻辑对象包括:
将所述多个任务中的特定任务分配给所述多个处理器中的特定处理器;以及
将与所述特定任务相关联的变量分配给所述数据存储器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于相干逻辑公司,未经相干逻辑公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201880084639.9/1.html,转载请声明来源钻瓜专利网。