CN104137075A - Gpu的资源分配方法和装置 - Google Patents

Gpu的资源分配方法和装置 Download PDF

Info

Publication number
CN104137075A
CN104137075A CN201380011250.9A CN201380011250A CN104137075A CN 104137075 A CN104137075 A CN 104137075A CN 201380011250 A CN201380011250 A CN 201380011250A CN 104137075 A CN104137075 A CN 104137075A
Authority
CN
China
Prior art keywords
request
data
gpu
controller
task
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201380011250.9A
Other languages
English (en)
Inventor
金捲植
安泳禹
宋正翼
吕寅春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN104137075A publication Critical patent/CN104137075A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Advance Control (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

资源分配方法和装置通过将使用通用GPU(GPGPU)的任务分类到操作中并且将相同的操作组合到请求中来高效地利用GPU资源。根据本公开的图形处理单元(GPU)的资源分配方法包括:接收包括至少一个操作的任务;以请求为单位存储至少一个操作;合并每个请求的相同的操作的数据;以及,根据请求的运行次序来分配GPU资源。

Description

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依序运行操作。
如果所请求的操作的数量大于阈值,则在步骤340控制器220检查数据相关性。
控制器220按运行次序来确定在相同的任务中所请求的至少两个操作的输入和输出数据是否具有数据相关性。控制器220通过注意所请求的操作的特征来添加输入数据以及原始输入数据,以确定所添加的输入数据是否可能影响输出数据。
对数据相关性进行检查,这是因为当在所合并或按顺序排列的操作的数据之间存在任何相关性时,合并开销变得大于通过合并而预期的得益。因此,优选的是,只有当没有数据相关性问题存在时才执行请求优化。参考图4a和4b来描述数据相关性。
图4a图示出根据本公开的实施例的、在资源分配方法中由操作运行次序生成的示例性数据相关性。
并非总可以合并操作或使操作按顺序排列。这是因为数据相关性。数据相关性问题能够被分类为由相同任务中的运行次序所引起的操作间相关性问题和由操作的特征所引起的操作内数据相关性。
具有如图4a中所示的运行次序的操作能够是操作间相关性问题的示例。在图4a中,“a”、“b”、“c”和“d”可以表示矢量或矩阵。作为第二和第三操作的结果,确定c和d的数据。
作为第二操作的结果,第四操作是具有输入“a”和“c”的加法运算。如果为了第二和第四操作来执行数据合并,则在确定c的数据之前执行具有a的加法操作,以便获取正确结果。
在第一和最后一个操作的情况中,不可能执行使操作按顺序排列。这是因为尽管两个情况都是相乘运算,但必须利用通过第二和第三操作其值发生改变的c和d的输入来执行最后一个操作。
图4b图示出根据本公开的实施例的、在资源分配方法中由操作特性所引起的示例性数据相关性,即,操作内数据相关性。
图4b示出示例性矩阵相加和矩阵相乘运算。在矩阵相加运算的示例中,具有相同索引的数据被添加到输入矩阵中,并且操作结果也存在于具有相同索引的位置。
然而,在矩阵乘法运算的示例中,运算受到具有不同索引的数据的值的影响。如果需要通过数据合并来处理存在于先前请求中的数据,则处理开销变得大于通过数据合并而预期的得益。因此,必须只有当没有数据相关性问题时才执行请求优化处理。
返回到图3,在步骤350控制器220执行请求优化处理,这将参考图5和图6来详细描述。
图5a图示出根据本公开的实施例的图3的请求优化步骤350的详情的流程图。
控制器220在步骤510确定是否存在相同的操作,并且如果存在相同的操作,则在步骤520存储操作的数据和操作的数据的地址。这是因为所请求的任务和数据的位置彼此不同。
在步骤530控制器220将相同的操作合并到请求中。在本公开中,将至少两个相同的操作的数据组合到请求中被称为合并(merging)。
最后,在步骤540,控制器220改变队列中的请求运行次序。
图5b是图示出通过图5a的请求优化过程所优化的请求处理结构的图。
图5b示出与100个GPU核相关联的分别具有40、20和30的编程大小的请求情况A、B和C的示例。
如果如在常规方法中那样独立地执行每个情况,则操作必须被执行三次。根据本公开的实施例,如果各个情况的操作彼此等同,则可以通过为情况B和C分配情况A的空闲核560来一次处理操作。
图6图示出根据本公开的另一个实施例的图3的请求优化步骤350的详情的流程图。
控制器220在步骤610检查相同类型的操作的存在,并且存储操作的数据和包括操作的任务的地址。这是因为操作在所请求的任务和数据位置方面是不同的。
在步骤630,控制器220将相同类型的操作配置为顺序的请求。在本公开中,依序布置至少两个相同的操作被称为按顺序排列。
GPGPU执行用于将被实施以运行操作的着色器程序加载到顶点处理器和片段处理器上的工作。在反复处理相同的操作的情况下,可以减小由于操作的频繁的改变而必须被连续地改变的着色器程序的加载工作。
如果依序运行相同的操作,要做的事情是改变数据集以使得顶点处理器和片段处理器的运行时间变得一致,结果是流水线效率的提高。因此,在请求列表中分布相同的操作的情况下,如果操作能够被按顺序排列,则可以增加流水线效率。在步骤630,控制器220将操作按顺序排列。最后,在步骤640,控制器220改变队列的请求运行次序。
返回到图3,在步骤360,控制器220请求GPU 240进行处理。
此后,如果GPU 240已经完成了处理,则控制器220从GPU 240接收结果数据,并且基于在步骤图5a的520和图6的620存储的任务和数据地址来向CPU 210传递结果数据。
图7图示出根据本公开的实施例的、在资源分配方法中用于请求优化的窗口机制。
根据本公开的实施例,资源分配装置220使用用于确定执行优化处理的时间的窗口机制。这是因为请求列表优化操作可能造成开销。
因此,当GPGPU请求的数量大于用于优化处理的范围、即优化窗口中的预定阈值时,资源分配装置200运行优化处理。图7涉及窗口大小是8的情况。如果请求的数量大于窗口大小(即,阈值)时,则触发优化处理。能够根据系统不同地设置窗口大小和阈值。
图7的上部分及下部分示出优化前后在队列中的请求列表的状态。如图7中所示,在优化之前GPU以任务为单位生成请求;在相同的任务中请求的操作被收集。
在优化以后,加减运算分别地被合并为相同类型的操作。此外,任务D的两个矩阵相乘请求被优化以便以相继次序被布置。
图8图示出根据本公开的实施例的资源分配装置的配置。
图8涉及用于在多核和多任务环境中执行用于GPGPU请求的操作级优化的基于队列的数据结构的示例性情况。
如图8中所示,根据本公开的实施例的资源分配装置200包括:合并模块810,用于执行对于任务所排队的请求的优化;操作顺序排列模块820;和相关性检查模块830,用于在开始优化处理之前检查所请求的数据的相关性。根据系统实施,这些模块的运行位置能够是GPU设备驱动器或操作系统。
图8中描绘的任务2、4和5是使用GPGPU编程模型的任务。任务2、4和5请求GPGPU服务(询问和函数调用)。在队列中,依序对每个任务将被运行的操作进行排队。
如果所请求的操作的数量不大于优化的阈值,则资源分配装置200借助于GPU设备驱动器来依序运行队列中的操作。
如果在GPU正操作的状态中存储在队列中的请求的数量变得大于阈值,则资源分配装置200执行对于请求列表的优化处理。
资源分配装置200借助于相关性检查模块来提取关于窗口中的请求列表的数据相关性信息,并且基于数据相关性信息来执行数据合并和操作顺序排列处理。
如果在完成先前的操作之后GPU进入空闲状态,则资源分配装置200以优化的次序运行在队列中等待的请求。资源分配装置200进一步包括回叫模块840,其使用在队列数据结构中存储的回叫机制来向已经请求GPGPU服务的任务通知操作完成。回叫机制可以取决于实施方式而变化,诸如回叫功能、事件触发器和信号之类。
尽管已经就示例性实施例描述了本公开,但可以向本领域技术人员建议各种改变和修改。本公开旨在包括属于所附权利要求的范围的这样的改变和修改。

Claims (20)

1.一种图形处理单元(GPU)的资源分配方法,该方法包括:
接收包括至少一个操作的任务;
以请求为单位存储至少一个操作;
合并每个请求的相同的操作的数据;以及
根据请求的运行次序来分配GPU资源。
2.根据权利要求1所述的方法,进一步包括:按请求的顺序来布置相同的操作。
3.根据权利要求1所述的方法,进一步包括:在合并数据之前,确定请求的数量是否大于预定阈值。
4.根据权利要求3所述的方法,进一步包括:在确定请求的数量是否大于预定阈值之后并且在合并数据之前,确定操作的数据是否与彼此相关。
5.根据权利要求1所述的方法,其中,使用通用GPU(GPGPU)程序语言来生成任务。
6.根据权利要求1所述的方法,其中,存储包括以请求为单位在队列结构中存储操作。
7.根据权利要求6所述的方法,其中,合并包括存储相同的操作的数据和包括相同的操作的任务的地址。
8.根据权利要求7所述的方法,进一步包括:在合并数据之后,改变队列结构中的请求的运行次序。
9.一种图形处理单元(GPU)的资源分配装置,该装置包括:
存储器,被配置为存储一个或多个请求;以及
控制器,被配置为对接收包括至少一个操作的任务、以请求为单位存储至少一个操作、合并每个请求的相同的操作的数据以及根据请求的运行次序来分配GPU资源进行控制。
10.根据权利要求9所述的装置,其中,控制器被配置为按请求的顺序来布置相同的操作。
11.根据权利要求9所述的装置,其中,控制器被配置为确定请求的数量是否大于预定阈值。
12.根据权利要求11所述的装置,其中,控制器被配置为确定操作的数据是否与彼此相关。
13.根据权利要求9所述的装置,其中,使用通用GPU(GPGPU)程序语言来生成任务。
14.根据权利要求9所述的装置,其中,控制器被配置为对以请求为单位在队列结构中存储操作进行控制。
15.根据权利要求14所述的装置,其中,控制器被配置为对存储相同的操作的数据和包括相同的操作的任务的地址进行控制。
16.根据权利要求15所述的装置,其中,控制器被配置为对在合并数据之后改变队列结构中的请求的运行次序进行控制。
17.一种体现用于图形处理单元(GPU)的资源分配的计算机程序的非瞬时性计算机可读介质,计算机程序包括用于如下的程序代码:
接收包括至少一个操作的任务;
以请求为单位存储至少一个操作;
合并每个请求的相同的操作的数据;以及
根据请求的运行次序来分配GPU资源。
18.根据权利要求17所述的计算机可读介质,进一步包括用于按请求的顺序来布置相同的操作的程序代码。
19.根据权利要求18所述的计算机可读介质,进一步包括用于在合并数据之前确定请求的数量是否大于预定阈值的程序代码。
20.根据权利要求19所述的计算机可读介质,进一步包括用于在确定请求的数量是否大于预定阈值之前确定操作的数据是否与彼此相关的程序代码。
CN201380011250.9A 2012-01-27 2013-01-24 Gpu的资源分配方法和装置 Pending CN104137075A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020120008453A KR101885211B1 (ko) 2012-01-27 2012-01-27 Gpu의 자원 할당을 위한 방법 및 장치
KR10-2012-0008453 2012-01-27
PCT/KR2013/000571 WO2013111975A1 (en) 2012-01-27 2013-01-24 Resource allocation method and apparatus of gpu

Publications (1)

Publication Number Publication Date
CN104137075A true CN104137075A (zh) 2014-11-05

Family

ID=47739022

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380011250.9A Pending CN104137075A (zh) 2012-01-27 2013-01-24 Gpu的资源分配方法和装置

Country Status (5)

Country Link
US (1) US9454401B2 (zh)
EP (1) EP2620873B1 (zh)
KR (1) KR101885211B1 (zh)
CN (1) CN104137075A (zh)
WO (1) WO2013111975A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105637482A (zh) * 2014-09-15 2016-06-01 华为技术有限公司 基于gpu的数据流处理方法和装置
CN110235104A (zh) * 2017-02-02 2019-09-13 微软技术许可有限责任公司 用于虚拟化的图形处理单元分区

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013094156A1 (ja) * 2011-12-19 2013-06-27 日本電気株式会社 タスク配置最適化システム、タスク配置最適化方法、及びタスク配置最適化プログラム
WO2016039774A1 (en) * 2014-09-12 2016-03-17 Intel Corporation Facilitating dynamic parallel scheduling of command packets at graphics processing units on computing devices
US10403010B2 (en) * 2017-09-19 2019-09-03 General Electric Company Methods and systems for reconstructing images
CN109726008B (zh) * 2017-10-31 2022-12-09 阿里巴巴集团控股有限公司 资源分配方法及设备
KR102376155B1 (ko) * 2018-12-05 2022-03-21 한국전자통신연구원 병렬계산 가속기 할당률 결정 장치 및 방법
US10983835B2 (en) 2018-12-05 2021-04-20 Electronics And Telecommunications Research Institute Apparatus and method for setting allocation rate of parallel-computing accelerator
KR102041960B1 (ko) * 2019-03-22 2019-11-07 한국과학기술정보연구원 병렬 처리 방법 및 병렬 처리 장치
KR102194513B1 (ko) * 2019-06-20 2020-12-23 배재대학교 산학협력단 Gpgpu 기반 태스크 큐를 활용한 웹 서비스 제공 시스템 및 방법
KR102064882B1 (ko) 2019-07-12 2020-01-10 (주)웨이브웨어 그래픽 처리 장치의 자원 관리가 가능한 딥러닝 플랫폼 및 이를 이용한 그래픽 처리 장치의 자원 관리 방법
US11900156B2 (en) 2019-09-24 2024-02-13 Speedata Ltd. Inter-thread communication in multi-threaded reconfigurable coarse-grain arrays
US11354157B2 (en) 2020-04-28 2022-06-07 Speedata Ltd. Handling multiple graphs, contexts and programs in a coarse-grain reconfigurable array processor
US11175922B1 (en) 2020-04-28 2021-11-16 Speedata Ltd. Coarse-grain reconfigurable array processor with concurrent handling of multiple graphs on a single grid
CN112230931B (zh) * 2020-10-22 2021-11-02 上海壁仞智能科技有限公司 适用于图形处理器的二次卸载的编译方法、装置和介质
CN112346859B (zh) * 2020-10-26 2023-06-16 北京市商汤科技开发有限公司 资源调度方法及装置、电子设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060098017A1 (en) * 2004-11-05 2006-05-11 Microsoft Corporation Interpreter for simplified programming of graphics processor units in general purpose programming languages
US20070294666A1 (en) * 2006-06-20 2007-12-20 Papakipos Matthew N Systems and methods for determining compute kernels for an application in a parallel-processing computer system
US20080114937A1 (en) * 2006-10-24 2008-05-15 Arm Limited Mapping a computer program to an asymmetric multiprocessing apparatus
WO2010043401A2 (en) * 2008-10-15 2010-04-22 Martin Vorbach Data processing device
CN101908368A (zh) * 2009-06-04 2010-12-08 威刚科技(苏州)有限公司 电子存储装置及其操作方法
US20110035736A1 (en) * 2007-02-14 2011-02-10 The Mathworks, Inc. Graphical processing unit (gpu) arrays

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7234144B2 (en) * 2002-01-04 2007-06-19 Microsoft Corporation Methods and system for managing computational resources of a coprocessor in a computing system
JP4493626B2 (ja) 2006-05-25 2010-06-30 株式会社ソニー・コンピュータエンタテインメント マルチプロセッサシステム、ライブラリモジュール、および描画処理方法
US8321849B2 (en) * 2007-01-26 2012-11-27 Nvidia Corporation Virtual architecture and instruction set for parallel thread computing
US8930926B2 (en) * 2008-02-08 2015-01-06 Reservoir Labs, Inc. System, methods and apparatus for program optimization for multi-threaded processor architectures
JP5733860B2 (ja) * 2008-07-10 2015-06-10 ロケティック テクノロジーズ リミテッド 依存問題の効率的並列計算
WO2010067377A2 (en) * 2008-12-08 2010-06-17 Kpit Cummins Infosystems Ltd. Method for reorganizing tasks for optimization of resources
US8643656B2 (en) * 2010-09-30 2014-02-04 Nec Laboratories America, Inc. Energy-aware task consolidation on graphics processing unit (GPU)
US20130138923A1 (en) * 2011-11-30 2013-05-30 International Business Machines Multithreaded data merging for multi-core processing unit

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060098017A1 (en) * 2004-11-05 2006-05-11 Microsoft Corporation Interpreter for simplified programming of graphics processor units in general purpose programming languages
US20070294666A1 (en) * 2006-06-20 2007-12-20 Papakipos Matthew N Systems and methods for determining compute kernels for an application in a parallel-processing computer system
US20080114937A1 (en) * 2006-10-24 2008-05-15 Arm Limited Mapping a computer program to an asymmetric multiprocessing apparatus
US20110035736A1 (en) * 2007-02-14 2011-02-10 The Mathworks, Inc. Graphical processing unit (gpu) arrays
WO2010043401A2 (en) * 2008-10-15 2010-04-22 Martin Vorbach Data processing device
CN101908368A (zh) * 2009-06-04 2010-12-08 威刚科技(苏州)有限公司 电子存储装置及其操作方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105637482A (zh) * 2014-09-15 2016-06-01 华为技术有限公司 基于gpu的数据流处理方法和装置
CN110235104A (zh) * 2017-02-02 2019-09-13 微软技术许可有限责任公司 用于虚拟化的图形处理单元分区
CN110235104B (zh) * 2017-02-02 2022-11-11 微软技术许可有限责任公司 用于虚拟化的图形处理单元分区

Also Published As

Publication number Publication date
WO2013111975A1 (en) 2013-08-01
KR20130087257A (ko) 2013-08-06
EP2620873A1 (en) 2013-07-31
EP2620873B1 (en) 2018-01-17
US20130198757A1 (en) 2013-08-01
US9454401B2 (en) 2016-09-27
KR101885211B1 (ko) 2018-08-29

Similar Documents

Publication Publication Date Title
CN104137075A (zh) Gpu的资源分配方法和装置
US20220276899A1 (en) Resource scheduling method, device, and storage medium
US9495206B2 (en) Scheduling and execution of tasks based on resource availability
EP3893112A2 (en) Method and apparatus for scheduling deep learning reasoning engines, device, and medium
US20130091507A1 (en) Optimizing data warehousing applications for gpus using dynamic stream scheduling and dispatch of fused and split kernels
EP3353655A1 (en) Stream-based accelerator processing of computational graphs
CN108351783A (zh) 多核数字信号处理系统中处理任务的方法和装置
CN104714785A (zh) 任务调度装置、方法及并行处理数据的设备
CN105022670A (zh) 一种云计算平台中的异构分布式任务处理系统及其处理方法
CN103197976A (zh) 异构系统的任务处理方法及装置
CN104598426A (zh) 用于异构多核处理器系统的任务调度方法
CN114911596B (zh) 针对模型训练的调度方法、装置、电子设备和存储介质
CN103412790A (zh) 移动安全中间件的多核并发调度方法与系统
CN114490056A (zh) 数据处理的方法、装置、设备以及存储介质
CN105808346A (zh) 一种任务调度方法与装置
CN112949847B (zh) 神经网络算法加速系统、调度系统及调度方法
CN117539598A (zh) 任务处理方法、装置、电子设备及存储介质
CN114153614A (zh) 内存管理方法、装置、电子设备和自动驾驶车辆
CN116069480B (zh) 一种处理器及计算设备
CN115904510B (zh) 多操作数指令的处理方法、图形处理器及存储介质
CN102184124A (zh) 任务调度方法及系统
US20220044211A1 (en) Transaction settlement method and apparatus
CN108228323A (zh) 基于数据本地性的Hadoop任务调度方法及装置
CN112114967B (zh) 一种基于服务优先级的gpu资源预留方法
CN102736949A (zh) 改善对非连贯设备要执行的任务的调度

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20141105