CN104636207B - 基于gpgpu体系结构的协同调度方法及系统 - Google Patents
基于gpgpu体系结构的协同调度方法及系统 Download PDFInfo
- Publication number
- CN104636207B CN104636207B CN201510063714.1A CN201510063714A CN104636207B CN 104636207 B CN104636207 B CN 104636207B CN 201510063714 A CN201510063714 A CN 201510063714A CN 104636207 B CN104636207 B CN 104636207B
- Authority
- CN
- China
- Prior art keywords
- instruction
- stages
- priority scheduling
- priority
- issue
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000003860 storage Methods 0.000 description 9
- 230000015654 memory Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000014759 maintenance of location Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000001154 acute effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 208000015181 infectious disease Diseases 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Abstract
本发明适用于高性能计算技术领域,提供了一种基于GPGPU体系结构的协同调度方法及系统,所述方法包括:将Issue阶段的两个优先级调度队列合并为一个优先级调度队列,并将合并后的优先级调度队列作为Fetch阶段的优先级调度队列;在Fetch阶段,从所述合并后的优先级调度队列中获取指令;对获取的指令进行解码;在Issue阶段,通过Issue阶段的两个调度器并行执行解码后的指令,并按照所述调度器各自的调度策略发射所述解码后的指令;在所述发射后的指令进入流水线后开始执行;将执行后的指令结果写回到指定位置。通过本发明,可有效提高GPGPU性能。
Description
技术领域
本发明属于高性能计算技术领域,尤其涉及一种基于GPGPU体系结构的协同调度方法及系统。
背景技术
通用计算图形处理器(General Purpose Graphic Processing Unit,GPGPU)是一种高性能、并行计算的处理器。
从硬件资源角度来说,以NVIDIA公司的Fermi架构GPGPU为例,它在硬件上是一块单独的较大的板卡,上面由PCI插槽与主机系统相连。微观上,GPGPU包含若干个SM,SM即Streaming MultiProcessor中文意义是流多处理器,每个SM是硬件上的一个独立的行动单元。每个SM上可以包含若干个SP,SP是指Scalar Processor,是硬件的计算单元,计算单元除了SP之外,还包括若干个SFU计算单元,SFU是用来完成特殊计算功能的部件。除了计算单元以外,每个SM还包含有自己的寄存器文件,共享内存,L1数据缓存和指令缓存。为了支持多线程并行执行,SM上的寄存器文件通常都是比较大的。共享内存是一块特殊的内存,它的速度可以与L1缓存一样快,并且只能被软件概念的一个线程块中的线程访问,可以用来进行一个线程块内的数据交互。除此之外,GPGPU还提供了纹理缓存和常量缓存,这是完全不同于CPU架构的设计。纹理缓存用于文理类图形算法的数据快速存取。常量内存缓存用于只读变量的存储。显存DRAM作为GPGPU的主存,在SM片外,因此直接访问主存的时间延迟是最高的。
GPGPU软件编程的CUDA架构是NVIDIA公司提出的一个统一计算架构。在CUDAGPGPU编程模型中,线程被组织成两个层次,分为格和线程块。用户定义的线程可以被分成许多格,每个格中又可以包含许多线程块,每个线程块包含许多线程。线程块内包含的线程数量,格内包含的线程块数量都是用户可定义的。具体执行时,一个线程块的线程可以通过共享内存快速的交换数据,可以通过同步原语进行线程块内的执行同步。对于GPGPU而言资源的分配单元是线程块,而执行单元则是Warp,不是单个线程。GPGPU以Warp为最小执行单位,Warp是一组连续的32个线程,每次执行一条指令,都是一个Warp内所有的线程同时执行,一般来说一条指令每时每刻都会有32个线程同时执行,这就是单指令多数据(SIMD)的数据处理方式,从线程并行角度也可以理解成单指令多线程(SIMT)架构。但是由于Warp内的32个线程可能出现分支的情况,如果出现分支,那么Warp内的32个线程就会依照分支分组串行执行,此时会造成一些资源的闲置。在内存层次上,GPGPU有L1数据缓存和L2数据缓存,DRAM主存。L1数据缓存是每个SM上的线程块共用,L2数据缓存是所有SM上的线程块共用。当L1缓存不命中时,请求会被发送到L2缓存,当L2缓存不命中时,请求会被发送请求到DRAM。当用户指定一个kernel执行时,这个kernel的所有线程块被逐个分配给各个SM,因为每个线程块都要占用一定资源,因此每个SM上能够同时驻留的线程块是有限的。这也就导致了不是所有的线程块都能同时驻留在SM上,因为资源限制,要等到某个线程块结束,才可以将一个新的线程块发射到这个资源空闲的SM上。
GPGPU内部流水线阶段主要包括Fetch(取指令),Decode(指令解码),Issue(发射指令),Execute(指令执行),Writeback(结果写回)。Fetch阶段是取指令阶段,在这个阶段Fetch部件为一个满足条件的Warp从指令缓存取一条或者两条指令到I-Buffer(指令临时缓存)。随后Decode(指令解码)部件对刚刚取回的指令进行解码。每个Warp都有与之对应的I-Buffer,用来存储刚刚解码的指令。Issue阶段是指令的发射阶段,在这个阶段中调度器根据优先级算法,从待发射队列中找到一个Warp进行发射。发射的效果就是经这条指令放到后端的流水线中开始执行。Execute阶段代指指令在计算流水线和访存流水线中执行的阶段。Writeback阶段负责将刚刚执行的指令结果写回到指定位置。在整个流水线过程中,有两个阶段发生了调度,一个是Fetch阶段,它负责选取为哪一个Warp取指令;另一个是Issue阶段,它负责选择一个Warp进行发射。
GPGPU内部基本Warp调度策略分为轮询调度策略(Lrr),年老优先调度策略(Oldest),年轻优先调度策略(Youngest)。轮询调度策略就是Lrr(Loose Round Robin)调度策略,它是一种最简单的调度策略,它的实现是基于轮询机制的,利用它可以使得被调度个体获得均等的调度机会。轮询调度策略的基本算法是将本轮次被选中的成员的下一个紧邻成员作为下一轮优先级队列优先级最高的成员。其余成员的相对顺序不变。Oldest调度策略是我们依据现有的Gto调度策略提出来的一种基本调度策略,年老优先调度策略的核心是按照时间排序Warp,先被发射到GPU SM上的Warp也即“老的”Warp具有高的优先级。这是一个以时间为优先级标准的调度策略。在这种调度策略中先发射到SM上的Warp始终排在优先队列的前面。这种策略的优势是能够集中资源促使最先发射的Warp尽快地执行完。而不同于Lrr策略的使得每个Warp都获得均衡的机会。年轻优先调度策略是与年老优先调度策略相反的调度策略。年轻优先调度策略中把较晚到达SM上的Warp放在较高优先级,较早到达SM上的Warp放到较低优先级。因此年轻优先调度策略的优先级调度队列可以看做是一个按照Warp Id降序排列的一个队列。以上的三种调度策略Lrr,Oldest以及Youngest都可以和Greedy(贪心)的思想相结合形成Gtlrr(Greedy The Lrr),Gto(Greedy ThenOldest),Gty(Greedy Then Youngest)三种调度策略。以Gto为例,Gto调度策略是建立在Oldest策略基础上的,唯一不同的是它对上一次刚被Issue的Warp实行贪心策略,实行的方式是将这个Warp排在调度队列最高优先级位置。其余Warp的优先级排列仍然按照Oldest策略执行。Gto,Gtlrr,Gty策略都是对前一次刚被选中的Warp实行Greedy策略使得这个Warp排在队列最前面。这种策略的特点是尽可能使得某个Warp一直处于高的调度优先级,尽量使其先执行完毕。GPGPU硬件在Fetch阶段采用的是Lrr策略,在Issue阶段采用的是Lrr或者Gto策略。
在现有技术中,关于GPGPU Warp调度策略的优化,基本上都是在研究如何在Issue阶段进行针对内存访问或者Cache方向的优化,而没有提及Fetch阶段调度策略的优化,Fetch阶段都默认采用简单的轮询(Lrr)调度策略。
发明内容
鉴于此,本发明实施例提供一种基于GPGPU体系结构的协同调度方法及系统,以在Fetch阶段能够最大限度的满足Issue阶段的需求,充分发挥Issue阶段的策略能力,从整体上提升GPGPU的计算性能。
本发明实施例是这样实现的,一种基于GPGPU体系结构的协同调度方法,所述方法包括:
将Issue阶段的两个优先级调度队列合并为一个优先级调度队列,并将合并后的优先级调度队列作为Fetch阶段的优先级调度队列;
在Fetch阶段,从所述合并后的优先级调度队列中获取指令;
对获取的指令进行解码;
在Issue阶段,通过Issue阶段的两个调度器并行执行解码后的指令,并按照所述调度器各自的调度策略发射所述解码后的指令;
在所述发射后的指令进入流水线后开始执行;
将执行后的指令结果写回到指定位置。
本发明实施例的另一目的在于提供一种基于GPGPU体系结构的协同调度系统,所述系统包括:
合并单元,用于将Issue阶段的两个优先级调度队列合并为一个优先级调度队列,并将合并后的优先级调度队列作为Fetch阶段的优先级调度队列;
取指令单元,用于在Fetch阶段,从所述合并后的优先级调度队列中获取指令;
指令解码单元,用于对获取的指令进行解码;
指令发射单元,用于在Issue阶段,通过Issue阶段的两个调度器并行执行解码后的指令,并按照所述调度器各自的调度策略发射所述解码后的指令;
指令执行单元,用于在所述发射后的指令进入流水线后开始执行;
结果写回单元,用于将执行后的指令结果写回到指定位置。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例将Issue阶段的两个优先级调度队列合并为一个优先级调度队列,并将合并后的优先级调度队列作为Fetch阶段的优先级调度队列,使得Fetch阶段能够最大限度的满足Issue阶段的需求,充分发挥Issue阶段的策略能力。而且,通过建立Fetch阶段优先级调度队列与Issue阶段优先级调度队列之间的联系,使得Fetch阶段有能力访问Issue阶段的优先级调度队列,从而可以有目的进行指令预取,减少将要发射的指令没有被取回的可能性,提高GPGPU性能,具有较强的易用性和实用性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的基于GPGPU体系结构的协同调度方法的实现流程图;
图2是本发明实施例一提供的实现协同调度的体系架构示意图;
图3是本发明实施例二提供的基于GPGPU体系结构的协同调度系统的组成结构图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透切理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明实施例一提供的基于GPGPU体系结构的协同调度方法的实现流程,该方法过程详述如下:
在步骤S101中,将Issue阶段的两个优先级调度队列合并为一个优先级调度队列,并将合并后的优先级调度队列作为Fetch阶段的优先级调度队列;
在步骤S102中,在Fetch阶段,从所述合并后的优先级调度队列中获取指令;
在步骤S103中,对获取的指令进行解码;
在步骤S104中,在Issue阶段,通过Issue阶段的两个调度器并行执行解码后的指令,并按照所述调度器各自的调度策略发射所述解码后的指令;
在步骤S105中,在所述发射后的指令进入流水线后开始执行;
在步骤S106中,将执行后的指令结果写回到指定位置。
本发明实施例设计了一种基于Fetch阶段与Issue阶段协同调度的Warp调度算法。具体地,实现了一种新的协同调度的体系架构。如图2所示,OrderQueue单元合并Issue阶段使用的两个优先级调度队列(Issue中调度器1(scheduler1)对应的优先级调度队列W1、W3、W5、W7;以及调度器2(scheduler2)对应的优先级调度队列W2、W4、W6、W8),并将合并后的优先级调度队列作为Fetch阶段的优先级调度队列(Fetch中scheduler对应的优先级调度队列W1、W2、W3、W4…)。Fetch单元从合并后的优先级调度队列(即scheduler对应的优先级调度队列W1、W2、W3、W4…)中,按照指令优先级从高到低的顺序获取指令直至成功取出一份指令为止,Decode单元对获取的指令进行解码,获得解码后的指令,Issue单元通过scheduler1和scheduler2并行执行解码后的指令,并按照scheduler1和scheduler2各自的调度策略发射所述解码后的指令,在所述发射后的指令进入流水线后开始执行(通过计算单元SP执行),RegFile将执行后的指令结果写回到指定位置。
需要说明的是,在现有的GPGPU体系架构上,Fetch阶段取指令具有自己的调度策略和自己的优先级调度队列,Issue阶段同样有自己的调度策略和自己的调度队列,在现有体系结构上Fetch阶段与Issue阶段是不能互相交流信息的。而事实上Fetch阶段与Issue阶段是紧密相连的,Fetch阶段策略选择的好与坏将直接影响Issue阶段的策略能否充分发挥,进而直接影响GPGPU的计算性能。基于此,本发明实现协同调度的方法就是实现架构上Fetch阶段与Issue阶段使用同一种调度策略,使用同一个优先级调度队列,从而架起Fetch阶段与Issue阶段沟通的桥梁,Fetch阶段和Issue阶段信息得到交互,只要Fetch阶段按照共用优先级队列的内容进行指令取回操作,那么Issue阶段就可以最大可能地按照原有策略进行发射指令,从而使得Fetch阶段能够最大限度的满足Issue阶段的需求,充分发挥Issue阶段的策略能力,从整体上提升GPGPU的计算性能。
实施例二:
图3示出了本发明实施例二提供的基于GPGPU体系结构的协同调度系统的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该基于GPGPU体系结构的协同调度系统可以是内置于终端设备(如个人计算机、笔记本电脑、平板电脑、智能手机等)中的软件单元、硬件单元或者软硬件相结合的单元,或者作为独立的挂件集成到终端设备或者终端设备的应用系统中。
该基于GPGPU体系结构的协同调度系统包括:
合并单元31,用于将Issue阶段的两个优先级调度队列合并为一个优先级调度队列,并将合并后的优先级调度队列作为Fetch阶段的优先级调度队列;
取指令单元32,用于在Fetch阶段,从所述合并后的优先级调度队列中获取指令;
指令解码单元33,用于对获取的指令进行解码;
指令发射单元34,用于在Issue阶段,通过Issue阶段的两个调度器并行执行解码后的指令,并按照所述调度器各自的调度策略发射所述解码后的指令;
指令执行单元35,用于在所述发射后的指令进入流水线后开始执行;
结果写回单元36,用于将执行后的指令结果写回到指定位置。
进一步的,所述取指令单元32具体用于:
从合并后的优先级调度队列中,按照优先级从高到低的顺序获取指令。
进一步的,所述合并单元31还用于,数值比较以及数据存取。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将所述系统的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元、模块的形式实现。另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
综上所述,本发明实施例将Issue阶段的两个优先级调度队列合并为一个优先级调度队列,并将合并后的优先级调度队列作为Fetch阶段的优先级调度队列,使得Fetch阶段能够最大限度的满足Issue阶段的需求,充分发挥Issue阶段的策略能力。而且,通过建立Fetch阶段优先级调度队列与Issue阶段优先级调度队列之间的联系,使得Fetch阶段有能力访问Issue阶段的优先级调度队列,从而可以有目的进行指令预取,减少将要发射的指令没有被取回的可能性,提高GPGPU性能。而且,本发明实施例实现简单,成本低,具有较强的易用性和实用性。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元、模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元、模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。
Claims (5)
1.一种基于GPGPU体系结构的协同调度方法,其特征在于,所述方法包括:
将Issue阶段的两个优先级调度队列合并为一个优先级调度队列,并将合并后的优先级调度队列作为Fetch阶段的优先级调度队列;
在Fetch阶段,从所述合并后的优先级调度队列中获取指令;
对获取的指令进行解码;
在Issue阶段,通过Issue阶段的两个调度器并行执行解码后的指令,并按照所述调度器各自的调度策略发射所述解码后的指令;
在所述发射后的指令进入流水线后开始执行;
将执行后的指令结果写回到指定位置。
2.如权利要求1所述的方法,其特征在于,所述从合并后的优先级调度队列中获取指令包括:
从合并后的优先级调度队列中,按照优先级从高到低的顺序获取指令。
3.一种基于GPGPU体系结构的协同调度系统,其特征在于,所述系统包括:
合并单元,用于将Issue阶段的两个优先级调度队列合并为一个优先级调度队列,并将合并后的优先级调度队列作为Fetch阶段的优先级调度队列;
取指令单元,用于在Fetch阶段,从所述合并后的优先级调度队列中获取指令;
指令解码单元,用于对获取的指令进行解码;
指令发射单元,用于在Issue阶段,通过Issue阶段的两个调度器并行执行解码后的指令,并按照所述调度器各自的调度策略发射所述解码后的指令;
指令执行单元,用于在所述发射后的指令进入流水线后开始执行;
结果写回单元,用于将执行后的指令结果写回到指定位置。
4.如权利要求3所述的系统,其特征在于,所述取指令单元具体用于:
从合并后的优先级调度队列中,按照优先级从高到低的顺序获取指令。
5.如权利要求3所述的系统,其特征在于,所述合并单元还用于,数值比较以及数据存取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510063714.1A CN104636207B (zh) | 2015-02-06 | 2015-02-06 | 基于gpgpu体系结构的协同调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510063714.1A CN104636207B (zh) | 2015-02-06 | 2015-02-06 | 基于gpgpu体系结构的协同调度方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104636207A CN104636207A (zh) | 2015-05-20 |
CN104636207B true CN104636207B (zh) | 2018-01-16 |
Family
ID=53214996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510063714.1A Active CN104636207B (zh) | 2015-02-06 | 2015-02-06 | 基于gpgpu体系结构的协同调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104636207B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3607526A4 (en) * | 2017-04-01 | 2020-11-04 | INTEL Corporation | HYBRID TECHNOLOGY SHARED BY EXECUTION UNITS FOR ACCELERATED COMPUTING ON GRAPHIC PROCESSORS |
CN108595258B (zh) * | 2018-05-02 | 2021-07-27 | 北京航空航天大学 | 一种gpgpu寄存器文件动态扩展方法 |
CN111651864B (zh) * | 2020-05-12 | 2023-03-17 | 北京华如科技股份有限公司 | 一种事件集中发射式多异构时间队列优化仿真执行方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129390A (zh) * | 2011-03-10 | 2011-07-20 | 中国科学技术大学苏州研究院 | 片上多核计算平台的任务调度系统及进行任务并行化方法 |
CN103336718A (zh) * | 2013-07-04 | 2013-10-02 | 北京航空航天大学 | 一种gpu线程调度优化方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7478198B2 (en) * | 2004-05-24 | 2009-01-13 | Intel Corporation | Multithreaded clustered microarchitecture with dynamic back-end assignment |
US20080022283A1 (en) * | 2006-07-19 | 2008-01-24 | International Business Machines Corporation | Quality of service scheduling for simultaneous multi-threaded processors |
US9286128B2 (en) * | 2013-03-15 | 2016-03-15 | Intel Corporation | Processor scheduling with thread performance estimation on cores of different types |
-
2015
- 2015-02-06 CN CN201510063714.1A patent/CN104636207B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129390A (zh) * | 2011-03-10 | 2011-07-20 | 中国科学技术大学苏州研究院 | 片上多核计算平台的任务调度系统及进行任务并行化方法 |
CN103336718A (zh) * | 2013-07-04 | 2013-10-02 | 北京航空航天大学 | 一种gpu线程调度优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104636207A (zh) | 2015-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI628594B (zh) | 用戶等級分叉及會合處理器、方法、系統及指令 | |
Narasiman et al. | Improving GPU performance via large warps and two-level warp scheduling | |
US9575807B2 (en) | Processing accelerator with queue threads and methods therefor | |
CN106462219B (zh) | 管理处理器设备功耗的系统和方法 | |
US9606797B2 (en) | Compressing execution cycles for divergent execution in a single instruction multiple data (SIMD) processor | |
US9830156B2 (en) | Temporal SIMT execution optimization through elimination of redundant operations | |
US20160019066A1 (en) | Execution of divergent threads using a convergence barrier | |
WO2008036852A1 (en) | Graphics processors with parallel scheduling and execution of threads | |
BRPI0807951B1 (pt) | Processador de multimídia multi-encadeado sob demanda | |
KR102616212B1 (ko) | 다수의 컴퓨팅 코어들상의 데이터 드라이브 스케줄러 | |
CN105814538B (zh) | 用于仿真共享内存架构的支持浮点的流水线 | |
CN104636207B (zh) | 基于gpgpu体系结构的协同调度方法及系统 | |
CN102298567A (zh) | 一种集成中央运算和图形加速的移动处理器架构 | |
Zhang et al. | Locality based warp scheduling in GPGPUs | |
Chen et al. | Improving GPGPU performance via cache locality aware thread block scheduling | |
CN105183562B (zh) | 一种基于cuda技术对栅格化数据进行抽阶的方法 | |
CN106326184A (zh) | 基于cpu、gpu和dsp的异构计算框架 | |
US10152329B2 (en) | Pre-scheduled replays of divergent operations | |
CN107562549B (zh) | 基于片上总线和共享内存的异构众核asip架构 | |
Kim et al. | Homogeneous stream processors with embedded special function units for high-utilization programmable shaders | |
CN112348182A (zh) | 一种神经网络maxout层计算装置 | |
KR101420592B1 (ko) | 컴퓨터 시스템 | |
Kwon et al. | Mobile GPU shader processor based on non-blocking coarse grained reconfigurable arrays architecture | |
Falahati et al. | ISP: Using idle SMs in hardware-based prefetching | |
CN113138804B (zh) | 在传输过程中提取流数据特征的流处理器及其实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20150520 Assignee: SHENZHEN YIHUO TECHNOLOGY CO.,LTD. Assignor: SHENZHEN INSTITUTES OF ADVANCED TECHNOLOGY CHINESE ACADEMY OF SCIENCES Contract record no.: X2023980043401 Denomination of invention: Collaborative scheduling method and system based on GPGPU architecture Granted publication date: 20180116 License type: Common License Record date: 20231013 |
|
EE01 | Entry into force of recordation of patent licensing contract |