[发明专利]依赖性问题的有效率的并行计算有效
申请号: | 200980126852.2 | 申请日: | 2009-06-30 |
公开(公告)号: | CN102089752A | 公开(公告)日: | 2011-06-08 |
发明(设计)人: | S·密茨拉希;U·泰;T·本-戴维 | 申请(专利权)人: | 洛克泰克科技有限公司 |
主分类号: | G06F15/16 | 分类号: | G06F15/16 |
代理公司: | 北京北翔知识产权代理有限公司 11285 | 代理人: | 徐燕;杨勇 |
地址: | 以色列*** | 国省代码: | 以色列;IL |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 依赖性 问题 有效率 并行 计算 | ||
相关申请的交叉参引
本申请要求下列申请的权益:提交于2008年7月10日的美国临时专利申请61/079,461;提交于2008年8月7日的美国临时专利申请61/086,803;提交于2008年11月3日的美国临时专利申请61/110,676;提交于2009年6月10日的美国临时专利申请61/185,589;以及提交于2009年6月10日的美国临时专利申请61/185,609。上述文献的公开内容均通过参引方式纳入本文。
技术领域
本发明主要涉及并行计算,且具体涉及用于在并行处理器上执行依赖性问题的方法和系统。
背景技术
并行处理技术广泛地用于执行各种计算任务。在逻辑设计仿真领域,例如,Cadambi等人在2002年6月10日至14日路易斯安那州新奥尔良市举办的第三十九届IEEE ACM Design Automation Conference(DAC 2002)的学报的570-575页发表的“A Fast,Inexpensive and Scalable Hardware Acceleration Technique for Functional Simulation”中描述了一种基于超长指令字(VLIW)处理器的仿真加速器,该文献以参引方式纳入本文。使用超长指令字处理器的逻辑仿真的多个方面也在下列文献中进行了论述:美国专利7,444,276,以及美国专利申请公布2007/0219771,2007/0150702,2007/0129926,2007/0129924,2007/0074000,2007/0073999和2007/0073528,以上公开内容均以参引方式纳入本文。
发明内容
本发明的一个实施方案提供了一种计算方法,包括:
接受计算任务的定义,该计算任务包括具有执行依赖性的多个原子处理元(PE),每个执行依赖性规定了在执行一个相应的第二PE之前要执行一个相应的第一PE;
编译所述计算任务以用于在多处理器设备上并发地执行,所述多处理器设备包括多个处理器,所述多个处理器通过在一个包括第二数量的执行序列的调用数据结构中不与执行依赖性冲突地布置所述PE而能够同时地执行第一数量的PE,所述第二数量大于1且不超过所述第一数量;以及
调用所述多处理器设备以运行软件代码,所述软件代码响应于所述调用数据结构而并行地执行所述执行序列,以产生所述计算任务的结果。
在某些实施方案中,计算任务包括对一个设计进行验证的任务。或者,所述计算任务可包括信号处理任务、图像处理任务、包处理任务和/或纠错编码(ECC)任务。在所公开的一个实施方案中,多处理器设备包括图形处理单元(GPU)。在另一个实施方案中,多处理器设备包括数字信号处理器和/或多核中央处理单元(CPU)。
在一个实施方案中,编译所述计算任务包括将每个执行序列中的PE分组成PE组(PEG)。在另一个实施方案中,多处理器设备根据内建调度策略调度所述PE以用于由多个处理器执行,且其中调用所述多处理器设备包括使得所述多处理器设备并行地执行第二数量的执行序列,如同布置在执行数据结构中,而与所述内建调度策略无关。在另一个实施方案中,多处理器被分成组布置,每个组都被指派以执行提供给所述多处理器设备的一个或多个线程块,且其中调用所述多处理器设备包括提供每个执行序列作为待要被所述组中的一个组内的处理器执行的一个相应的线程块。在一个实施方案中,所述每个组中的所述处理器访问一个相应的共享存储器,且其中编译所述计算任务包括使得一个给定执行序列中的PE通过被指派以执行该给定执行序列的一组处理器的共享存储器来交换数据。
在另一个实施方案中,将PE布置在调用数据结构中包括:最小化最长执行序列的长度同时不超过所述第一数量且不与所述执行依赖性相冲突。在又一个实施方案中,一个给定执行依赖性规定了使驱PE将在受驱PE之前被执行,且其中将所述PE布置在所述调用数据结构中包括:在给定执行序列中将受驱PE放置在使驱PE之后。在另一个实施方案中,一个给定执行依赖性规定了使驱PE将在受驱PE之前执行,且其中将所述PE布置在所述调用数据结构中包括:在第一执行序列中放置使驱PE,在不同于所述第一执行序列的第二执行序列中放置受驱PE,并且向所述第二执行序列中插入一个同步元,所述同步元暂停所述第二执行序列的执行直到给定的所述使驱PE完全被执行为止。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于洛克泰克科技有限公司,未经洛克泰克科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200980126852.2/2.html,转载请声明来源钻瓜专利网。