GPU的资源分配方法和装置制造方法及图纸

技术编号:10601455 阅读:123 留言:0更新日期:2014-11-05 14:14
资源分配方法和装置通过将使用通用GPU(GPGPU)的任务分类到操作中并且将相同的操作组合到请求中来高效地利用GPU资源。根据本公开的图形处理单元(GPU)的资源分配方法包括:接收包括至少一个操作的任务;以请求为单位存储至少一个操作;合并每个请求的相同的操作的数据;以及,根据请求的运行次序来分配GPU资源。

【技术实现步骤摘要】
【国外来华专利技术】【专利摘要】资源分配方法和装置通过将使用通用GPU(GPGPU)的任务分类到操作中并且将相同的操作组合到请求中来高效地利用GPU资源。根据本公开的图形处理单元(GPU)的资源分配方法包括:接收包括至少一个操作的任务;以请求为单位存储至少一个操作;合并每个请求的相同的操作的数据;以及,根据请求的运行次序来分配GPU资源。【专利说明】GPU的资源分配方法和装置
本公开涉及图形处理单元(GPU)的资源分配方法和装置。更具体地,本公开涉及能够通过将使用通用GPU(GPGPU)的任务分类到操作中并且将相同的操作合并到请求中来高效地利用GPU资源的资源分配方法和装置。
技术介绍
图1图示出用于使用GPU来处理请求的常规编程模型的结构。图1涉及在利用不同的程序大小执行相同的操作的三种情况下关于GPGPU请求的GPU核利用率。 在图1中,情况A、B和C分别涉及具有40、20和30的程序大小的GPGPU请求。阴影块101指示执行操作的核,并且空白块102指示不执行操作的核。因为GPU核的数量是100,所以GPU核的利用率至多是40%、20%和30%。 因为正在执行相同的操作,所以相同的程序被加载到核上。而且,因为在相应的情况A、B和C中数据的数量是40、20和30 ;尽管它们被求和,但是数据的总数变为小于GPU核的数量(即100)的90。因为对于GPU的操作请求是以任务为单位生成的,所以这是当前出现的不可避免的问题。 在常规GPGPU编程模型中,以任务为单位来处理数据处理请求。因此,不可能在低于任务级的操作级优化利用率。 同时,如果以流水线机制操作的GPU能够依序执行相同类型的操作,则由GPU核运行的程序被固定以增加流水线的效率。然而,在常规GPGPU编程模型中,以任务为单位来处理请求,并且因此不可能依序运行相同类型的操作。
技术实现思路
技术问题 为了解决以上讨论的现有技术的不足,本公开的主要目的是提供能够在操作级高效地分配GPU资源的资源分配方法和装置。 本公开的另一个目的是提供能够提高GPU的流水线效率的资源分配方法和装置。 对问题的解决方案 根据本公开的一个方面,一种图形处理单元(GPU)的资源分配方法包括:接收包括至少一个操作的任务;以请求为单位存储至少一个操作;合并每个请求的相同的操作的数据;以及根据请求的运行次序来分配GPU资源。 根据本公开的另一个方面,一种图形处理单元(GPU)的资源分配装置包括:存储器,存储至少一个请求;以及控制器,控制:接收包括至少一个操作的任务,以请求为单位存储至少一个操作,合并每个请求的相同的操作的数据,以及根据请求的运行次序来分配GPU资源。 专利技术的有益效果 本公开的资源分配方法和装置能够减小GPU的请求处理次数,以便提高GPU核利用的效率。 而且,本公开的资源分配方法和装置能够增加GPU流水线的效率,导致系统响应延迟的降低。 【专利附图】【附图说明】 图1图示出用于使用GPU处理请求的常规编程模型的结构; 图2图示出根据本公开的实施例的资源分配装置的框图; 图3图示出根据本公开的实施例的资源分配方法的流程图; 图4a图示出根据本公开的实施例的、在资源分配方法中由操作运行次序生成的示例性数据相关性; 图4b图示出根据本公开的实施例的、在资源分配方法中由操作特性所引起的示例性数据相关性,即,操作内数据相关性; 图5a图示出根据本公开的实施例的图3的请求优化步骤350的详情的流程图; 图5b图示出通过图5a的请求优化过程所优化的请求处理结构; 图6图示出根据本公开的另一个实施例的图3的请求优化步骤350的详情的流程图; 图7图示出根据本公开的实施例的、在资源分配方法中用于请求优化的窗口机制;并且 图8图示出根据本公开的实施例的资源分配装置的配置。 【具体实施方式】 在进行以下的【具体实施方式】之前,阐述贯穿该专利文献所使用的某些语词的定义可能是有利的:术语“包括”和“包含”以及其派生意指不进行限制的包括;术语“或”是可兼的,意指和/或;字句“与...相关联的”和“与此相关联的”以及其派生可以意指包括、被包括在内、与...互连、包含、被包含在内、连接到或与...连接、耦合到或与...耦合、与...通信、与...协作、交织、并置、接近于、绑定到或与...绑定、具有、具有...的属性等等;并且术语“控制器”意指控制至少一个操作的任何设备、系统或其部分,这样的设备可以实施在硬件、固件或软件或者其至少两个的某组合中。应当注意到,与任何特定控制器相关联的功能不管是本地还是远程的都可以是集中的或分布的。贯穿该专利文献来提供对于某些语词的定义,那些本领域普通技术人员应该理解,在许多、即使不是最多实例中,这样的定义适用于这样的定义的语词的在先的以及将来的使用。 以下讨论的图2至8以及在该专利文献中用于描述本公开的原理的各种实施例是仅仅作为说明并且不管怎样不应当被理解为限制本公开的范围。本领域技术人员将理解,可以在任何适当地布置的系统或设备中实施本公开的原理。 贯穿附图使用相同的附图标记来指代相同的或类似的部分。在附图中,为了本公开的清楚可以夸大或省略或示意地描绘某些要素,并且不反映要素的实际的大小。参考附图来详细地描述本公开的示例性实施例。 图2图示出根据本公开的实施例的资源分配装置的框图。 如图2中所示,资源分配装置200包括GPU资源分配器220、即控制器、和存储器230。尽管图2涉及CPU 210和资源分配装置200被描绘为分离的功能块的示例性实施例,但本公开不局限于该配置。根据系统实施,资源分配装置200能够被配置为与CPU 210或GPU 240相关联地进行操作。 CPU 210向资源分配装置200传递利用GPGPU编程模型生成的任务信息。一旦接收到任务信息,资源分配装置200将任务划分到操作中来指配GPU资源分配优先级。如果从资源应用装置200接收到指配结果,则GPU 240按优先级的次序来处理(运行)请求。 更详细地,控制器220控制存储器230来接收包括至少一个操作的任务、将至少一个操作分类到请求中,并且按先进先出方式的次序将请求存储在队列中。 控制器220也确定请求的数量是否大于阈值以检查操作的数据的相关性,即,执行当前操作是否需要其他操作结果。执行该确定以防止请求优化操作引起显著的开销。 如果堆叠在队列中的请求的数量大于阈值,则这意味着,数据没有相关性,并且因此控制器220运行请求优化操作。控制器220根据优化结果将队列中的请求运行优先级进行重排序。稍后参考附图来描述优化过程。 图3图示出根据本公开的实施例的资源分配方法的流程图。 在步骤310,控制器220接收通过GPGPU编程模型生成的任务。接下来,控制器220将所接收的任务划分到操作中,以生成请求队列。在队列中,在步骤320中,依序对每个任务将被运行的操作进行排队。 在步骤330,控制器220确定请求的数量是否大于阈值。根据系统实施能够由控制器220来提前设定阈值,并且稍后参考图8进行详细描述。 如果所请求的操作的数量不大于用于优化的阈值,则控制器220向GPU传递排队的操作,使得在步骤360GPU依序运本文档来自技高网
...

【技术保护点】
一种图形处理单元(GPU)的资源分配方法,该方法包括:接收包括至少一个操作的任务;以请求为单位存储至少一个操作;合并每个请求的相同的操作的数据;以及根据请求的运行次序来分配GPU资源。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:金捲植安泳禹宋正翼吕寅春
申请(专利权)人:三星电子株式会社
类型:发明
国别省市:韩国;KR

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

1