[发明专利]多处理器上的并行运行时执行有效

专利信息
申请号: 201410187203.6 申请日: 2008-04-09
公开(公告)号: CN103927150A 公开(公告)日: 2014-07-16
发明(设计)人: 阿夫泰伯·穆恩史;杰里米·萨德梅尔 申请(专利权)人: 苹果公司
主分类号: G06F9/38 分类号: G06F9/38;G06F9/46
代理公司: 中国国际贸易促进委员会专利商标事务所 11038 代理人: 鲍进
地址: 美国加*** 国省代码: 美国;US
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 处理器 行运 行时 执行
【说明书】:

本申请是申请日为2008年4月9日、申请号为200880011684.8的中国专利申请“多处理器上的并行运行时执行”的分案申请。

相关申请的交叉引用

本申请与Aaftab Munshi等在2007年4月11日提交的标题为“DATA PARALLEL COMPUTING ON MULTIPLE PROCESSORS”(多处理器上的数据并行计算)的美国临时专利申请No.60/923,030和Aaftab Munshi在2007年4月20日提交的标题为“PARALLEL RUNTIME EXECUTION ON MULTIPLE PROCESSORS”(多处理器上的并行运行时执行)的美国临时专利申请No.60/925,620相关,并且要求这两者的权益,这两者通过引用被结合于此。

技术领域

本发明一般地涉及数据并行计算,更具体而言,本发明涉及跨CPU(中央处理单元)和GPU(图形处理单元)两者的数据并行运行时执行。

背景技术

随着GPU继续演进成高性能并行计算装置,越来越多的应用被写入以在与通用计算装置类似的GPU中执行数据并行计算。如今,这些应用被设计成在使用供应商特定接口的特定GPU上运行。因此,它们既不能在数据处理系统具有GPU和CPU两者时平衡(leverage)CPU,也不能在这样的应用正运行在来自不同供应商的GPU上时被平衡。

然而,随着越来越多的CPU包括多个核心来执行数据并行模型的计算,通过可用的CPU和/或GPU的任一者可以支持越来越多的处理任务。传统上,GPU和CPU是通过相互不兼容的分开的编程环境来配置的。大多数GPU需要供应商特定的专用程序。结果,应用很难在处理资源方面平衡CPU和GPU两者,例如具有数据并行计算能力的GPU连同多核CPU。

因此,需要现代的数据处理系统来克服以上问题以允许应用在能够执行任务的任何可用处理资源(例如CPU或一个或多个GPU)中执行该任务。

发明内容

本发明的一个实施例包括响应于来自主处理单元中运行的应用的API请求,加载用于该应用的数据处理任务的一个或多个可执行体的方法和设备。响应于来自该应用的另一API请求,所加载的可执行体中的一个被选择以在附接到该主处理单元的诸如CPU或GPU之类的另一处理单元中被执行。

在一个可替换实施例中,主处理单元中运行的应用程序生成API请求,以用来加载用于数据处理任务的一个或多个可执行体。然后,由该应用程序生成第二API,用来选择所加载的可执行体中的一个以用于在附接到该主处理单元的诸如CPU或GPU之类的另一处理单元中执行。

在一个可替换实施例中,用于目标处理单元的源在运行时期间基于加载到处理单元的可执行体被编译。处理单元和目标处理单元可以是中央处理单元(CPU)或图形处理单元(GPU)。处理单元和目标处理单元之间的差异被检测以从所加载的可执行体取出源。

在一个可替换实施例中,响应于来自应用的API请求,利用包括多个可执行体的新任务来更新与诸如CPU或GPU之类的多个处理单元相关联的任务队列。判断对在多个处理单元中执行来自队列的新任务进行调度的条件。基于所判断出的条件,选择与新任务相关联的多个可执行体中的一个以用于执行。

在一个可替换实施例中,响应于来自应用的API请求,从该应用加载用于执行数据处理功能的源,以在诸如CPU或GPU之类的多个目标数据处理单元的一个或多个中执行可执行体。自动确定多种类型的目标数据处理单元。基于目标处理单元的一个或多个中所要执行的所确定的类型来编译可执行体。

在一个可替换实施例中,源和针对多个处理单元编译出的一个或多个相应的可执行体被存储在API库中来实现API函数。响应于从主处理器(host processor)中运行的应用对API库的请求,从API库中取出该源和该API函数的一个或多个相应可执行体。针对这多个单元中未包括的附加处理单元,从所取出的源在线编译出附加可执行体。根据API函数,在附加处理单元中和一个或多个处理单元中一起并发地执行附加可执行体和一个或多个所取出的可执行体。

在一个可替换实施例中,在主处理器上接收API调用来执行应用,该应用具有多个用于执行的线程。主处理器耦合CPU和GPU。这多个线程被异步调度以用于CPU和GPU上的并行执行。如果GPU忙于图形处理线程,则被调度要在GPU上执行的线程可以在CPU中被执行。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苹果公司,未经苹果公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410187203.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top