CN116342371A - 用于gpu、二级缓存的方法和gpu、二级缓存 - Google Patents
用于gpu、二级缓存的方法和gpu、二级缓存 Download PDFInfo
- Publication number
- CN116342371A CN116342371A CN202310302142.2A CN202310302142A CN116342371A CN 116342371 A CN116342371 A CN 116342371A CN 202310302142 A CN202310302142 A CN 202310302142A CN 116342371 A CN116342371 A CN 116342371A
- Authority
- CN
- China
- Prior art keywords
- cache
- level
- data
- cache line
- caches
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000012545 processing Methods 0.000 claims abstract description 5
- 230000004044 response Effects 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 12
- 239000000872 buffer Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
针对GPU数据归并操作的瓶颈问题,提供用于GPU数据处理的方法。一个GPU包括一个或多个核、一个或多个一级缓存以及一个或多个二级缓存,每个核与一个或多个一级缓存中的一个对应,每个一级缓存与一个或多个二级缓存中的一个或多个对应。该方法包括:在一级缓存中,对来自对应核的数据进行第一归并操作;以及将经第一归并操作的数据发送到对应的二级缓存中。本公开提高了GPU数据归并的效率。
Description
技术领域
本公开涉及图形处理单元(GPU)领域,具体地,涉及用于GPU、二级缓存的方法以及GPU和二级缓存。
背景技术
数据归并(Data Reduction)是指把一个数据集(例如D1,D2,......Dn)里的各数据进行归并,例如可以归并成一个,或者归并成多于一个。通常,数据集的归并操作在图形处理单元的二级缓存中操作,然而,GPU的二级缓存数量有限,且如果该数据集分布在多个GPU核中,则该方案会对数据归并的效率带来限制。
发明内容
有鉴于此,本公开提供了一种用于GPU、二级缓存的方法以及GPU和二级缓存,可以缓解、减轻或甚至消除上述问题。
根据本公开的第一方面,提供一种用于GPU数据处理的方法。一个GPU包括一个或多个核、一个或多个一级缓存以及一个或多个二级缓存,每个核与一个或多个一级缓存中的一个对应,每个一级缓存与一个或多个二级缓存中的一个或多个对应。该方法包括:在一级缓存中,对来自对应核的数据进行第一归并操作;以及将经第一归并操作的数据发送到对应的二级缓存中。
根据本公开的第二方面,提供一种GPU,包括一个或多个核、一个或多个一级缓存以及一个或多个二级缓存,每个核与一个或多个一级缓存中的一个对应,每个一级缓存与一个或多个二级缓存中的一个或多个对应。该GPU被配置来:当执行存储器上的指令时,实现如前述第一方面所提供的方法。
根据本公开的第三方面,提供一种用于GPU中的一级缓存的方法。该GPU包括一个或多个核、一个或多个一级缓存以及一个或多个二级缓存,每个核与一个或多个一级缓存中的一个对应,每个一级缓存与一个或多个二级缓存中的一个或多个对应。该方法包括:对来自对应核的数据进行第一归并操作;以及将经第一归并操作的数据发送到对应的二级缓存中。
根据本公开的第四方面,提供一种用于GPU中的二级缓存的方法。一个GPU包括一个或多个核、一个或多个一级缓存以及一个或多个二级缓存,每个核与一个或多个一级缓存中的一个对应,每个一级缓存与一个或多个二级缓存中的一个或多个对应。该方法包括:从一级缓存中接收经第一归并操作的数据,第一归并操作是在一级缓存中对分布在对应核的数据进行的第一归并操作;以及在二级缓存中,对经第一归并操作的数据进行第二归并操作。
根据本公开的第五方面,提供一种GPU中的一级缓存,该GPU包括一个或多个核、一个或多个一级缓存以及一个或多个二级缓存,每个核与一个或多个一级缓存中的一个对应,每个一级缓存与一个或多个二级缓存中的一个或多个对应。该一级缓存被配置来:当执行存储器上的指令时,实现如前述第三方面所提供的方法。
根据本公开的第六方面,提供一种GPU中的二级缓存,该GPU包括一个或多个核、一个或多个一级缓存以及一个或多个二级缓存,每个核与一个或多个一级缓存中的一个对应,每个一级缓存与一个或多个二级缓存中的一个或多个对应。该二级缓存被配置来:当执行存储器上的指令时,实现如前述第五方面所提供的方法。
根据本公开提供的用于GPU、一级缓存和二级缓存的方法以及GPU、一级缓存和二级缓存,通过将分布在各个核的数据通过各个核对应的一级缓存进行归并,而分散了二级缓存进行归并的压力,极大地提高了数据归并的效率。
根据在下文中所描述的实施例,本公开的这些和其它方面将是清楚明白的,并且将参考在下文中所描述的实施例而被阐明。
附图说明
在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:
图1示意性示出了可以应用本公开的实施例所提供的技术方案的示例应用环境;
图2a示意性示出了根据本公开的一些实施例的用于GPU的方法的示例流程图;
图2b示意性示出了根据本公开的一些实施例的用于GPU中的一级缓存的方法的示例流程图;
图2c示意性示出了根据本公开的一些实施例的用于GPU中的二级缓存的方法的示例流程图;
图3a示意性示出了根据本公开的一些实施例的一级缓存中缓存行命中操作的示例流程图;
图3b示意性示出了根据本公开的一些实施例的一级缓存中缓存行失效操作的示例流程图;
图3c示意性示出了根据本公开的一些实施例的一级缓存中缓存行驱逐操作的示例流程图;
图4a示意性示出了根据本公开的一些实施例的二级缓存中缓存行命中操作的示例流程图;
图4b示意性示出了根据本公开的一些实施例的二级缓存中缓存行失效操作的示例流程图;以及
图4c示意性示出了根据本公开的一些实施例的二级缓存中缓存行驱逐操作的示例流程图。
具体实施方式
现在将参考附图更充分地描述本发明构思的实施例。然而,本发明构思可以以许多不同的形式来具体实现,并且不应该被解释为受限于这里所阐述的实施例。因此,本发明构思的范围包括针对所示出的实施例的修正、等同物、修改、和替换。贯穿所撰写的描述和附图,相似的参考数字和标记被用来表示相似或者类似的元素。在附图中,某些尺寸、相对尺寸、和/或相对维度可以为了清晰而夸大。
另外,这里叙述的所有示例和条件性语言都将被解释为不受限于这样具体叙述的示例和条件。贯穿本说明书,单数形式可以包括复数形式,除非存在与之相反的特定描述。并且,诸如“包括”或者“包含”被用来指定所叙述的表格、数字、过程、操作、组件和/或它们的组的存在,而不排除一个或多个其它的叙述的表格、一个或多个其它数字、一个或多个其它过程、一个或多个其它操作、一个或多个其它组件和/或它们的组的存在。
虽然术语“第一”和“第二”等被用来描述各种组件,但是显然所述组件不限于术语“第一”和“第二”。术语“第一”和“第二”仅仅被用来在每个组件之间进行区分。例如,第一组件可以与第二组件互换使用,而不会与本发明构思发生冲突。
除非在这里明确地描述,否则这里所使用的包括描述性术语和技术术语的所有术语都应该被解释为具有对于本领域普通技术人员而言显而易见的含义。并且,在普通词典中定义的术语和在以下描述中使用的术语应该被解释为具有与相关描述中使用的含义等同的含义,并且除非在这里明确地另外描述,否则所述术语不应该被解释为理想化的或者过于正式的。
如这里所使用的,术语“和/或”包括一个或多个关联的列出的项目的任何以及全部组合。当诸如“......中的至少一个”的表达位于元素的列表之后时,其将修饰整个元素列表而不是修饰列表的单个元素。
与单纯的信号传输、载波或信号本身相反,本文中的“存储器”是指能够持久存储信息的介质和/或设备,和/或有形的存储装置。因此,存储器是指非信号承载介质,可以包括诸如易失性和非易失性、可移动和不可移动介质和/或以适用于存储信息(诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据)的方法或技术实现的存储设备之类的硬件。存储器的示例可以包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其他光学存储装置、硬盘、盒式磁带、磁带,磁盘存储装置或其他磁存储设备,或其他存储设备、有形介质或适于存储期望信息并可以访问的制品。
本文中的“缓存”(cache)是指可以进行高速数据交换的存储器,GPU中通常包括两层缓存,其中一级缓存(L1 Cache)是GPU的第一层高速缓存。二级缓存(L2 Cache)是GPU的第二层高速缓存。缓存中存储的只是内存中少部分数据的复制品。
图1示意性示出了可以应用根据本公开的一些实施例的技术方案的示例应用环境100。
如图1所示,环境100例如是一个GPU,其可以包括一个或多个GPU核10,例如图示为3个。每个GPU核对应一个一级缓存20(图示为L1),每个一级缓存20中有一个第一归并操作单元201。环境100还可以包括一个或多个二级缓存30,例如图示为2个,每个二级缓存中有一个第二归并操作单元301。各个一级缓存20与各个二级缓存30之间通过数据交换装置40传输数据。该数据交换装置40包括任何可以在一级缓存和二级缓存之间传输数据的装置,例如交叉互联总线(Crossbar)。
图2a示意性示出了根据本公开的一些实施例的用于GPU的方法的示例流程图。图2b示意性示出了根据本公开的一些实施例的用于GPU中的一级缓存的方法的示例流程图。图2c示意性示出了根据本公开的一些实施例的用于GPU中的二级缓存的方法的示例流程图。
示例性地,用于GPU的方法200a、用于GPU中的一级缓存的方法200b和用于GPU中的二级缓存的方法200c可以应用于图1所示的环境100,例如由图1所示的各相应组成部分执行。
如图2a所示,用于GPU的方法200可以包括步骤210至步骤230,这些步骤可以通过例如一个或多个器件实现。具体步骤参见如下对图2a的描述。
参见图2a,在步骤210,在一个或多个一级缓存20中分别对来自对应核10的数据进行第一归并操作。在一个示例中,该一级缓存中具有第一归并操作单元201,该第一归并操作在该第一归并操作单元201中进行。在步骤220,将经该第一归并操作的数据发送到对应的二级缓存30中。在一个实施例中,同一地址的数据总是发送到同一个二级缓存进行该第一归并操作,因此可以实现在不同的二级缓存中对来自不同地址的数据再进行第二归并操作。其中,第一归并操作可以与第二归并操作是同样的归并操作,也可以是不同的归并操作。在一个实施例中,同一个一级缓存20的数据可以发送到不同的对应的二级缓存30中,在各个对应的二级缓存30中,分别与不同的数据再进行第二归并操作。在步骤230,在对应的二级缓存30中,对从一个或多个一级缓存20发送的经第一归并操作的数据再进行第二归并操作。
如图2b所示,用于GPU中的一级缓存的方法200b可以包括步骤240至步骤250,这些步骤可以通过例如一级缓存20实现。具体步骤参见如下对图2b的描述。
参见图2b,在步骤240中,在一个一级缓存20中,对来自对应核10的数据进行第一归并操作。在一个示例中,该一级缓存中具有第一归并操作单元201,该第一归并操作在该第一归并操作单元201中进行。在步骤250中,将经该第一归并操作的数据发送到对应的二级缓存30中,用于再进行第二归并操作。其中,第一归并操作可以与第二归并操作是同样的归并操作,也可以是不同的归并操作。在一个实施例中,同一个一级缓存20的数据可以发送到不同的对应的二级缓存30中,在各个对应的二级缓存30中,分别与不同的数据再进行第二归并操作。在一个实施例中,各个一级缓存20中第一归并操作可以并发进行,也可以先后进行。在一个实施例中,各个一级缓存20将经该第一归并操作的数据发送到对应的二级缓存30可以并发进行,也可以先后进行。
如图2c所示,用于GPU中的二级缓存的方法200c可以包括步骤260至步骤270,这些步骤可以通过例如二级缓存30实现。具体步骤参见如下对图2c的描述。
参见图2c,在步骤260中,从对应的一个或多个一级缓存20中接收经第一归并操作的数据,该第一归并操作是在对应的一个或多个一级缓存20中分别对来自对应核10的数据进行的第一归并操作;在步骤270中,在二级缓存30中,对从对应的一个或多个一级缓存20中接收的经第一归并操作的数据再进行第二归并操作。
本领域技术人员可以理解,数据归并(Data Reduction)操作符合数据交换律和数据结合律。
在一个示例中,来自各个核的数据最终将归并成一个:
D_reduced=D1 op D2......op Dn,
其中D_reduced表示归并后的数据,D1,D2,......Dn表示来自各个核的数据,op表示数据归并操作。
在另一个示例中,来自各个核的数据最终将归并成多个,例如2个:
D_even_reduced=D2 op D4......op D2n,
D_odd_reduced=D1 op D3......op D2n-1,
其中D_even_reduced表示对偶数项索引的数据归并后的数据,D2,D4,......D2n表示来自各个核的数据中偶数项索引的数据,D_odd_reduced表示对奇数项索引的数据归并后的数据,D1,D3,......D2n-1表示来自各个核的数据中奇数项索引的数据,op表示数据归并操作。应理解,这里的奇数项索引和偶数项索引并不是具体的限定,只是为了区分不同核的数据而采用了索引编号的方式,可以将各个核中的数据视为一个数据集中的数据,每个数据具有一个索引,但该索引不代表任何限制,例如不代表任何顺序上的限制。
相关技术中在针对GPU的数据进行数据归并时,数据归并统一在二级缓存中进行。当待归并的数据来自多个GPU核时,数量较少的二级缓存将成为计算瓶颈,例如当一个GPU有4个核,其中每个核并行512个线程,该GPU具有2个二级缓存,那么一共4x512的线程可能将同时将自己的数据发往某一个二级缓存进行数据归并,此时二级缓存势必成为运算瓶颈,降低了整个GPU的运算效率。即使不同的核的数据分别发到两个二级缓存,每个二级缓存的计算量也依然是巨大的。
根据本公开的实施例,通过将来自各个核的数据通过各个核对应的一级缓存进行数据归并操作,而分散了二级缓存进行数据归并的压力,极大地提高了数据归并的效率。由于数据归并满足数据交换律和数据结合律,根据本公开的实施例并不影响最后的操作结果。
图3a示意性示出了根据本公开的一些实施例的一级缓存中缓存行命中(hit)操作的示例流程图。在一个实施例中,步骤210包括响应于来自对应核的数据在一级缓存中缓存行命中而执行的缓存行命中操作,缓存行命中操作包括步骤2101-2103,如图3a所示。在步骤2101中,一级缓存20中的第一归并操作单元201将一级缓存的缓存行中的数据与对应核的数据进行第一归并操作。而后在步骤2102中,该一级缓存20中的第一归并操作单元201使用该第一归并操作的结果更新该一级缓存的该缓存行。而后在步骤2103中,该一级缓存20中的第一归并操作单元201将该缓存行标记为已进行过归并。
图3b示意性示出了根据本公开的一些实施例的一级缓存中缓存行失效(miss)操作的示例流程图。在一个实施例中,响应于来自对应核的数据在一级缓存中缓存行失效,步骤210包括缓存行失效操作,缓存行失效操作包括步骤2104-2107,如图3b所示。在步骤2104中,一级缓存20中的第一归并操作单元201分配一级缓存的缓存行。在步骤2105中,该一级缓存20中的第一归并操作单元201将对应核的数据进行第一归并操作。在步骤2106中,该一级缓存20中的第一归并操作单元201将第一归并操作的结果写入该分配的缓存行中。然后在步骤2107中,该一级缓存20中的第一归并操作单元201将该分配的缓存行标记为已进行过归并。
图3c示意性示出了根据本公开的一些实施例的一级缓存中缓存行驱逐(evict)操作的示例流程图。在一个实施例中,步骤210包括响应于一级缓存中待驱逐的缓存行被标记为已进行过第一归并操作而执行的缓存行驱逐操作,缓存行驱逐操作包括步骤2108-2109,如图3c所示。在步骤2108中,一级缓存20中的第一归并操作单元201将该待驱逐的缓存行中的数据连同该第一归并操作的命令发送给对应的二级缓存,并且在步骤2109中清除该待驱逐的缓存行中的已进行过归并的标记。
图4a示意性示出了根据本公开的一些实施例的二级缓存中缓存行命中操作的示例流程图。在一个实施例中,步骤230包括响应于一级缓存发送的数据在二级缓存中缓存行命中而执行的缓存行命中操作,该缓存行命中操作包括步骤2301-2303,如图4a所示。在步骤2301中,二级缓存30中的第二归并操作单元301将从GPU的一个或多个对应的一级缓存接收的经第一归并操作的数据与该二级缓存30的缓存行中的数据再进行第二归并操作。然后在步骤2302中,该二级缓存30中的第二归并操作单元301使用再进行该第二归并操作的结果来更新该二级缓存30的该缓存行。以及在步骤2303中,该二级缓存30中的第二归并操作单元301将该缓存行标记为已进行过归并。
图4b示意性示出了根据本公开的一些实施例的二级缓存中缓存行失效操作的示例流程图。在一个实施例中,步骤230包括响应于一级缓存发送的数据在对应的二级缓存中缓存行失效而执行的缓存行失效操作,缓存行失效操作包括步骤2304-2307,如图4b所示。在步骤2304中,二级缓存30中的第二归并操作单元301分配二级缓存的缓存行。在步骤2305中,该二级缓存30中的第二归并操作单元301将从一个或多个对应的一级缓存接收的经第一归并操作的数据再进行第二归并操作。在步骤2306中,该二级缓存30中的第二归并操作单元301将进行第二归并操作的结果写入该分配的缓存行中。然后在步骤2307中,二级缓存30中的第二归并操作单元301将该缓存行标记为已进行过归并。
图4c示意性示出了根据本公开的一些实施例的二级缓存中缓存行驱逐操作的示例流程图。在一个实施例中,步骤230包括缓存行驱逐操作,缓存行驱逐操作包括步骤2308,如图4c所示。在步骤2308中,二级缓存30中的第二归并操作单元301响应于该二级缓存的待驱逐的缓存行被标记为已进行过归并,禁止对该待驱逐的缓存行进行缓存行驱逐操作。
可选地,在上述一级缓存和二级缓存中的缓存行命中操作、缓存行失效操作和缓存行驱逐操作中,响应于缓存行被标记为已进行过归并,而由该缓存行所在的一级缓存的第一归并操作单元或二级缓存的第二归并操作操作单元禁止对该缓存行进行读和/或写操作。例如,当接收到读和/或写请求时,对应GPU将作为异常来处理。
可选地,在上述一级缓存和二级缓存中的缓存行命中操作中,响应于缓存行被标记为已进行过归并,对多个缓存行命中操作按序逐个处理。
通过本公开提供的用于GPU的方法和GPU,通过将来自各个核的数据通过各个核对应的一级缓存进行归并,而分散了二级缓存进行数据归并的压力,极大地提高了数据归并的效率。
通过研究附图、公开内容和所附的权利要求书,本领域技术人员在实践所要求保护的主题时,能够理解和实现对于所公开的实施例的变型。在相互不同的从属权利要求中记载某些措施的纯粹事实并不表明这些措施的组合不能用来获利。
Claims (11)
1.一种用于GPU数据处理的方法,所述GPU包括一个或多个核、一个或多个一级缓存以及一个或多个二级缓存,每个核与所述一个或多个一级缓存中的一个对应,每个一级缓存与所述一个或多个二级缓存中的一个或多个对应,其特征在于,所述方法包括:
在所述一级缓存中,对来自对应核的数据进行第一归并操作;以及
将经所述第一归并操作的数据发送到对应的二级缓存中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述对应的二级缓存中,对所述一级缓存发送的数据进行第二归并操作,所述第二归并操作与所述第一归并操作相同或不同。
3.根据权利要求2所述的方法,其特征在于,所述第一归并操作和所述第二归并操作满足数据交换律和数据结合律。
4.根据权利要求1所述的方法,其特征在于,所述对来自所述对应核的数据进行第一归并操作,包括,响应于来自所述对应核的数据在所述一级缓存中缓存行命中:
将来自所述对应核的数据与所述一级缓存的缓存行中的数据进行所述第一归并操作;
使用所述第一归并操作的结果更新所述缓存行;以及
将所述缓存行标记为已进行过归并。
5.根据权利要求1所述的方法,其特征在于,所述对来自所述对应核的数据进行第一归并操作,包括,响应于来自所述对应核的数据在所述一级缓存中缓存行失效:
为来自所述核的数据分配所述一级缓存的缓存行;
对来自所述对应核的数据进行所述第一归并操作;
将所述第一归并操作的结果写入分配的缓存行中;以及
将所述分配的缓存行标记为已进行过归并。
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括,响应于所述一级缓存中待驱逐的缓存行被标记为已进行过归并:
将所述待驱逐的缓存行中的数据连同所述第一归并操作的命令发送给对应的二级缓存;以及
清除所述一级缓存中所述待驱逐的缓存行中的已进行过归并的标记。
7.根据权利要求2所述的方法,其特征在于,所述对所述一级缓存发送的数据进行第二归并操作,包括,响应于所述一级缓存发送的数据在所述二级缓存中缓存行命中:
将所述一级缓存发送的数据与所述二级缓存的缓存行中的数据进行所述第二归并操作;
使用所述第二归并操作的结果来更新所述缓存行;以及
将所述缓存行标记为已进行过归并。
8.根据权利要求2所述的方法,其特征在于,所述对所述一级缓存发送的数据进行第二归并操作,包括,响应于所述一级缓存发送的数据在所述二级缓存中缓存行失效:
为所述一级缓存发送的数据分配所述二级缓存的缓存行;
对所述一级缓存发送的数据进行所述第二归并操作;
将所述第二归并操作的结果写入分配的缓存行中;以及
将所述分配的缓存行标记为已进行过归并。
9.根据权利要求2所述的方法,其特征在于,所述对所述一级缓存发送的数据进行第二归并操作,包括:
响应于所述二级缓存的待驱逐的缓存行被标记为已进行过归并,禁止对所述二级缓存的所述待驱逐的缓存行进行缓存行驱逐操作。
10.根据权利要求4、5、7、8、9中任一项所述的方法,其特征在于,进一步包括:
响应于所述缓存行被标记为已进行过归并,禁止对所述缓存行进行读和/或写操作。
11.一种GPU,包括一个或多个核、一个或多个一级缓存以及一个或多个二级缓存,每个核与所述一个或多个一级缓存中的一个对应,每个一级缓存与所述一个或多个二级缓存中的一个或多个对应,其特征在于,所述GPU被配置为实现如权利要求1-10中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310302142.2A CN116342371B (zh) | 2023-03-24 | 2023-03-24 | 用于gpu、二级缓存的方法和gpu、二级缓存 |
PCT/CN2024/078273 WO2024198789A1 (zh) | 2023-03-24 | 2024-02-23 | 用于gpu的方法和gpu |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310302142.2A CN116342371B (zh) | 2023-03-24 | 2023-03-24 | 用于gpu、二级缓存的方法和gpu、二级缓存 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116342371A true CN116342371A (zh) | 2023-06-27 |
CN116342371B CN116342371B (zh) | 2024-05-24 |
Family
ID=86885297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310302142.2A Active CN116342371B (zh) | 2023-03-24 | 2023-03-24 | 用于gpu、二级缓存的方法和gpu、二级缓存 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116342371B (zh) |
WO (1) | WO2024198789A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024198789A1 (zh) * | 2023-03-24 | 2024-10-03 | 摩尔线程智能科技(北京)有限责任公司 | 用于gpu的方法和gpu |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6415362B1 (en) * | 1999-04-29 | 2002-07-02 | International Business Machines Corporation | Method and system for write-through stores of varying sizes |
CN103488565A (zh) * | 2013-09-13 | 2014-01-01 | 北京航空航天大学 | 一种分布式实时测试系统测试数据收集方法 |
CN103870394A (zh) * | 2012-12-13 | 2014-06-18 | Arm有限公司 | 基于保留优先级的缓存替换策略 |
CN104216838A (zh) * | 2013-06-05 | 2014-12-17 | 北京齐尔布莱特科技有限公司 | 双缓存数据处理方法及系统 |
CN106096455A (zh) * | 2016-08-08 | 2016-11-09 | 王波 | 一种主机内核数据还原保护方法 |
CN108132958A (zh) * | 2016-12-01 | 2018-06-08 | 阿里巴巴集团控股有限公司 | 一种多级缓存数据存储、查询、调度以及处理方法及装置 |
CN111263934A (zh) * | 2017-10-23 | 2020-06-09 | 超威半导体公司 | 至少具有三个缓存级别的缓存层级的混合低级缓存包含策略 |
CN111367925A (zh) * | 2020-02-27 | 2020-07-03 | 深圳壹账通智能科技有限公司 | 数据动态实时更新方法、装置及存储介质 |
CN111562898A (zh) * | 2020-05-11 | 2020-08-21 | 上海大学 | 一种基于fpga实现的多级归并排序方法 |
CN112860599A (zh) * | 2019-11-28 | 2021-05-28 | 中国电信股份有限公司 | 数据缓存处理方法、装置以及存储介质 |
CN114036077A (zh) * | 2021-11-17 | 2022-02-11 | 海光信息技术股份有限公司 | 数据处理方法及相关装置 |
CN115328943A (zh) * | 2022-01-10 | 2022-11-11 | 中国银联股份有限公司 | 数据处理方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116342371B (zh) * | 2023-03-24 | 2024-05-24 | 摩尔线程智能科技(北京)有限责任公司 | 用于gpu、二级缓存的方法和gpu、二级缓存 |
-
2023
- 2023-03-24 CN CN202310302142.2A patent/CN116342371B/zh active Active
-
2024
- 2024-02-23 WO PCT/CN2024/078273 patent/WO2024198789A1/zh unknown
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6415362B1 (en) * | 1999-04-29 | 2002-07-02 | International Business Machines Corporation | Method and system for write-through stores of varying sizes |
CN103870394A (zh) * | 2012-12-13 | 2014-06-18 | Arm有限公司 | 基于保留优先级的缓存替换策略 |
CN104216838A (zh) * | 2013-06-05 | 2014-12-17 | 北京齐尔布莱特科技有限公司 | 双缓存数据处理方法及系统 |
CN103488565A (zh) * | 2013-09-13 | 2014-01-01 | 北京航空航天大学 | 一种分布式实时测试系统测试数据收集方法 |
CN106096455A (zh) * | 2016-08-08 | 2016-11-09 | 王波 | 一种主机内核数据还原保护方法 |
CN108132958A (zh) * | 2016-12-01 | 2018-06-08 | 阿里巴巴集团控股有限公司 | 一种多级缓存数据存储、查询、调度以及处理方法及装置 |
CN111263934A (zh) * | 2017-10-23 | 2020-06-09 | 超威半导体公司 | 至少具有三个缓存级别的缓存层级的混合低级缓存包含策略 |
CN112860599A (zh) * | 2019-11-28 | 2021-05-28 | 中国电信股份有限公司 | 数据缓存处理方法、装置以及存储介质 |
CN111367925A (zh) * | 2020-02-27 | 2020-07-03 | 深圳壹账通智能科技有限公司 | 数据动态实时更新方法、装置及存储介质 |
CN111562898A (zh) * | 2020-05-11 | 2020-08-21 | 上海大学 | 一种基于fpga实现的多级归并排序方法 |
CN114036077A (zh) * | 2021-11-17 | 2022-02-11 | 海光信息技术股份有限公司 | 数据处理方法及相关装置 |
CN115328943A (zh) * | 2022-01-10 | 2022-11-11 | 中国银联股份有限公司 | 数据处理方法和设备 |
Non-Patent Citations (1)
Title |
---|
余炀;臧斌宇;: "Java虚拟机在Intel众核架构下的动态数据预取研究与优化", 小型微型计算机系统, no. 11 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024198789A1 (zh) * | 2023-03-24 | 2024-10-03 | 摩尔线程智能科技(北京)有限责任公司 | 用于gpu的方法和gpu |
Also Published As
Publication number | Publication date |
---|---|
CN116342371B (zh) | 2024-05-24 |
WO2024198789A1 (zh) | 2024-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8745334B2 (en) | Sectored cache replacement algorithm for reducing memory writebacks | |
US12007907B2 (en) | Victim cache with write miss merging | |
US10248572B2 (en) | Apparatus and method for operating a virtually indexed physically tagged cache | |
US10019369B2 (en) | Apparatuses and methods for pre-fetching and write-back for a segmented cache memory | |
US7552286B2 (en) | Performance of a cache by detecting cache lines that have been reused | |
JP6630449B2 (ja) | 他のキャッシュでのエントリの可用性に基づくキャッシュエントリの置換 | |
US10901908B2 (en) | Storing data into a memory | |
US20110320720A1 (en) | Cache Line Replacement In A Symmetric Multiprocessing Computer | |
CN116342371B (zh) | 用于gpu、二级缓存的方法和gpu、二级缓存 | |
US20120246410A1 (en) | Cache memory and cache system | |
CN106227674B (zh) | 缓存一致性控制器及方法 | |
EP3411798B1 (en) | Cache and method | |
CN103383666B (zh) | 改善缓存预取数据局部性的方法和系统及缓存访问方法 | |
CN111488293B (zh) | 多核系统中数据访问者目录的访问方法及设备 | |
US20190095330A1 (en) | Preemptive cache writeback with transaction support | |
US11080195B2 (en) | Method of cache prefetching that increases the hit rate of a next faster cache | |
US20210182213A1 (en) | Cache line re-reference interval prediction using physical page address | |
US10565111B2 (en) | Processor | |
TW202439126A (zh) | 用於圖形處理單元(gpu)的方法和gpu | |
CN111738417B (zh) | 神经网络计算装置及其快取管理方法 | |
CN116431529A (zh) | 基于l1d-l2缓存的别名处理系统、方法及相关设备 | |
WO2019083600A1 (en) | CACHED MEMORY REPLACEMENT POLICY BASED ON NON-CACHE BUFFERS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |