CN112346869A - 自适应的面向大图的统一内存管理方法及系统 - Google Patents
自适应的面向大图的统一内存管理方法及系统 Download PDFInfo
- Publication number
- CN112346869A CN112346869A CN202011244031.3A CN202011244031A CN112346869A CN 112346869 A CN112346869 A CN 112346869A CN 202011244031 A CN202011244031 A CN 202011244031A CN 112346869 A CN112346869 A CN 112346869A
- Authority
- CN
- China
- Prior art keywords
- gpu
- graph
- memory
- setting
- data
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 34
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 29
- 238000000034 method Methods 0.000 claims abstract description 11
- 238000004364 calculation method Methods 0.000 claims abstract description 4
- 230000003044 adaptive effect Effects 0.000 claims description 7
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- 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/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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
- G06F9/5016—Allocation 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 the resource being the memory
-
- 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/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/30—Providing cache or TLB in specific location of a processing system
- G06F2212/302—In image processor or graphics adapter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/45—Caching of specific data in cache memory
- G06F2212/455—Image or video data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6028—Prefetching based on hints or prefetch instructions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Memory System (AREA)
Abstract
一种自适应的面向大图的统一内存管理方法,对图计算应用中的不同类型的图数据按照优先级顺序,依次通过GPU内存判断检查当前GPU内存是否已满、通过数据超出判断当前的图数据的大小是否超出GPU的可用内存容量再进行统一内存管理策略配置。本发明针对图数据的特点采用不同的图算法,结合GPU可用内存的大小,能够显著提升统一内存架构下处理超过显存容量的大图的性能,包括提高GPU带宽利用率、减少缺页的次数和处理缺页的开销,加快图计算程序的运行时间。
Description
技术领域
本发明涉及的是一种图形处理领域的技术,具体是一种在统一内存架构下自适应地对尺寸在超出显存容量的大图数据的读取策略进行内存动态配置的方法及系统。
背景技术
统一内存(Unified Memory)是指:在现有的内存管理方式上增加了一个统一的内存空间,使得程序可以使用一个指针直接访问中央处理器(CPU)的内存或图形处理器(GPU)的显存中存储的数据。通过该技术使得图形处理器增加可用的地址空间,使得GPU可以处理超过显存容量的图数据的技术。但直接使用该技术往往会带来显著的性能损失。
发明内容
本发明针对现有技术的上述不足,提出一种自适应的、面向大图的统一内存管理方法及系统,针对图数据的特点采用不同的图算法,结合GPU可用内存的大小,能够显著提升统一内存架构下处理超过显存容量的大图的性能,包括提高GPU带宽利用率、减少缺页的次数和处理缺页的开销,加快图计算程序的运行时间。
本发明是通过以下技术方案实现的:
本发明涉及一种自适应的面向大图的统一内存管理方法,对图计算应用中的不同类型的图数据按照优先级顺序,依次检查当前GPU内存是否已满、判断当前的图数据的大小是否超出GPU的可用内存容量,再进行统一内存管理的策略配置。
所述的不同类型的图数据包括:顶点偏移量(VertexOffset)、顶点属性标签(VertexProperty)、边(Edge)以及待处理顶点前线(Frontier),其中:VertexOffset、VertexProperty、Edge为压缩稀疏行格式(CSR)的三个数组。
所述的优先级顺序是指:图数据结构在图算法执行中按照被访问的次数由高到低的顺序,具体为:顶点性质、顶点偏移、前线、边。
所述的图算法可以被分为遍历型算法或计算型算法,包括但不限于单源最短路径算法(SSSP)、广度优先搜索算法(BFS)、网页排名算法(PageRank,PR)、连通分量算法(Connected Component,CC)。
所述的GPU内存判断调用cudaMemGetInfo检查当前GPU内存的剩余容量。数据超出判断比较数据量的大小是否超过GPU可用内存的大小。
所述的统一内存管理策略配置采用但不限于通过调用cudaMemPrefetchAsync和cudaMemAdvise对当前图数据的管理策略进行设置,其中:cudaMemPrefetchAsync能够预先移动部分数据到GPU显存中;cudaMemAdvise能够为指定的数据设定数据使用提示(MemoryUsage Hint,以下简称为提示)以帮助GPU驱动程序采用适当的方式控制数据移动,提高最终的性能,可选的数据使用提示包括AccessedBy和ReadMostly。这些指令针对的是NVIDIA各系列的GPU,具体为:
①针对顶点性质数据,当GPU内存已满时,设置VertexProperty的提示为AccessedBy;否则,即GPU内存未满且当VertexProperty未超出GPU的可用内存容量时,设置VertexProperty的预读量为VertexProperty的大小;当VertexProperty超出GPU的可用内存容量时,设置VertexProperty的提示为AccessedBy,并设置VertexProperty的预读量为:预读率×GPU可用内存容量,单位为字节。
②针对顶点偏移数据,当GPU内存已满时,设置VertexOffset的提示为AccessedBy;否则,即GPU内存未满且当VertexOffset未超出GPU的可用内存容量时,设置VertexOffset的预读量为VertexOffset的大小;当VertexOffset超出GPU的可用内存容量时,设置VertexOffset的提示为AccessedBy,并设置VertexOffset的预读量为:预读率GPU可用内存容量,单位为字节。
③针对前线数据,当GPU内存已满时,设置Frontier的提示为AccessedBy;否则,即GPU内存未满且当Frontier未超出GPU的可用内存容量时,设置Frontier的预读量为Frontier的大小;当Frontier超出GPU的可用内存容量时,设置Frontier的提示为AccessedBy,并设置Frontier的预读量为:预读率GPU可用内存容量,单位为字节。
④针对边数据,当GPU内存已满时,设置Edge的提示为AccessedBy;否则,即GPU内存未满且当Edge未超出GPU的可用内存容量时,设置Edge的预读量为Edge的大小;当Edge超出GPU的可用内存容量时,设置Edge的提示为AccessedBy,并设置Edge的预读量为:预读率GPU可用内存容量,单位为字节。
技术效果
本发明整体解决了现有GPU不具有处理超出显存的大图的能力的技术问题。
与现有技术相比,本发明使用统一内存技术管理图数据,按照特定的优先级顺序,对不同的图数据结构采用针对性的管理策略,根据图数据的大小与GPU可用内存的相对大小、图算法的种类调整图数据的管理策略显著提高了图算法的运行效率。
附图说明
图1为本发明系统示意图;
图2为本发明内存管理策略设置流程示意图。
具体实施方式
如图1所示,为本实施例涉及的一种自适应的面向大图的统一内存管理系统,包括:系统参数设置模块、数据读取模块、内存管理策略设置模块,其中:系统参数设置模块调用CUDA编程接口获取内存管理策略运行参数并进行初始化,数据读取模块从存储器读取图数据文件,在CPU内存中构建相应的图数据结构,内存管理策略设置模块对图数据结构通过调用支持CUDA8.0的应用程序接口设置数据的预读、提示的策略。
所述的运行参数包括:内存已满(GPUIsFull)、GPU当前可用的内存容量(availGPUMemSize)以及预读率τ。
所述的初始化是指:将GPUIsFull设置为false;通过cudaMemGetInfo获取availGPUMemSize。
所述的预读率τ对于遍历型图算法(如BFS)设置为0.5,对于计算型图算法(如CC)设置为0.8。
所述的支持CUDA8.0的应用程序接口,包括但不限于允许与显式内存拷贝和固定API相同的功能,而无需恢复显式GPU内存分配的限制的:显式预取(cudaMemPrefetchAsync)和内存使用提示(cudaMemAdvise)。
如图2所示,本实例涉及基于上述系统的自适应内存管理方法,包括以下步骤:
步骤1(图中B0):获取运行参数(GPUIsFull、availGPUMemSize、τ)的初始值。
步骤2(图中B1、C0):依次对图数据结构(VertexProperty,VertexOffset,Frontier,Edge)中的每个数据Data设置内存管理策略,针对其中每条数据依次判断:
步骤2.1(图中C1):当变量GPUIsFull的值为false时执行步骤2.1.1;否则执行步骤2.1.2。
步骤2.1.1(图中C2):当Data的大小小于availGPUMemSize时执行步骤2.1.1.1;否则执行步骤2.1.1.2。
步骤2.1.1.1(图中B3~B4):调用cudaMemPrefetchAsync,将Data预取到GPU内存中;设置AvailGPUMemSize-=Data的大小;返回步骤2。
步骤2.1.1.2(图中B5~B7):设置内存已满(GPUIsFull=true);调用cudaMemAdvise将Data的提示设为AccessedBy;调用cudaMemPrefetchAsync预取τ×availGPUMemSize大小的Data到GPU内存中;返回步骤2。
步骤2.1.2(图中B8):调用cudaMemAdvise将Data的提示设为AccessedBy;返回步骤2。
经过具体实际实验,在一个配备Intel Xeon E5-2620 CPU,128GB内存和NVIDIAGTX1080Ti GPU的服务器环境下,基于本方法,在不同数据集下执行图算法,测量算法的执行时间,即在GPU上从开始到结束的总运行时间,不包含预处理、数据传送的时间。测量时,算法重复执行5次,取5次执行时间的平均值。
所述的数据集,为多个不同大小的图数据集,具体包含社交网络图数据集(LiveJournal、Orkut、Twitter、Friendster),以及互联网快照图数据集(UK-2005、SK-2005、UK-union),其中Livejournal包含5M顶点和69M边,体积为1.4GB;UK-union包含133M顶点和5.5B边,体积为110GB。
所述的图算法,为SSSP、BFS、PR、CC四种图算法,其中SSSP、BFS为遍历型算法,PR、CC为计算型算法。对于BFS和SSSP,算法将每个图数据集中的第一个顶点作为源顶点;对于PR,设置0.85为衰减系数,0.01为容错读。算法结束运行的条件为算法收敛,或者迭代次数达到100次。
试验结果显示本方法可以使图计算的总执行时间得到1.1至6.6倍的加速。其中SSSP的性能提升最高,而PR的性能提升最低,说明本方法对访存密集型的程序更有利。τ=0.5和τ=0.8分别是对遍历型算法和计算型算法最优的预读率,相比于τ=0时分别能达到最高平均1.43和1.48倍的最高平均加速。
综上可见,本发明可以显著缩短图计算程序的运行时间。
上述具体实施可由本领域技术人员在不背离本发明原理和宗旨的前提下以不同的方式对其进行局部调整,本发明的保护范围以权利要求书为准且不由上述具体实施所限,在其范围内的各个实现方案均受本发明之约束。
Claims (6)
1.一种自适应的面向大图的统一内存管理方法,其特征在于,对图计算应用中的不同类型的图数据按照优先级顺序,依次通过GPU内存判断检查当前GPU内存是否已满、通过数据超出判断当前的图数据的大小是否超出GPU的可用内存容量再进行统一内存管理策略配置;
所述的统一内存管理策略配置通过调用cudaMemPrefetchAsync和cudaMemAdvise指令对当前图数据的管理策略进行设置,其数据使用提示包括AccessedBy和ReadMostly;
所述的统一内存管理策略配置具体包括:
①针对顶点性质的图数据,当GPU内存已满时,设置VertexProperty的提示为AccessedBy;否则,即GPU内存未满且当VertexProperty未超出GPU的可用内存容量时,设置VertexProperty的预读量为VertexProperty的大小;当VertexProperty超出GPU的可用内存容量时,设置VertexProperty的提示为AccessedBy,并设置VertexProperty的预读量为:预读率×GPU可用内存容量,单位为字节;
②针对顶点偏移的图数据,当GPU内存已满时,设置VertexOffset的提示为AccessedBy;否则,即GPU内存未满且当VertexOffset未超出GPU的可用内存容量时,设置VertexOffset的预读量为VertexOffset的大小;当VertexOffset超出GPU的可用内存容量时,设置VertexOffset的提示为AccessedBy,并设置VertexOffset的预读量为:预读率GPU可用内存容量,单位为字节;
③针对前线的图数据,当GPU内存已满时,设置Frontier的提示为AccessedBy;否则,即GPU内存未满且当Frontier未超出GPU的可用内存容量时,设置Frontier的预读量为Frontier的大小;当Frontier超出GPU的可用内存容量时,设置Frontier的提示为AccessedBy,并设置Frontier的预读量为:预读率GPU可用内存容量,单位为字节;
④针对边的图数据,当GPU内存已满时,设置Edge的提示为AccessedBy;否则,即GPU内存未满且当Edge未超出GPU的可用内存容量时,设置Edge的预读量为Edge的大小;当Edge超出GPU的可用内存容量时,设置Edge的提示为AccessedBy,并设置Edge的预读量为:预读率GPU可用内存容量,单位为字节。
2.根据权利要求1所述的自适应的面向大图的统一内存管理方法,其特征是,所述的图算法为遍历型算法或计算型算法,对应预读率τ对于遍历型图算法设置为0.5,对于计算型图算法设置为0.8。
3.根据权利要求1所述的自适应的面向大图的统一内存管理方法,其特征是,具体包括:
步骤1:获取运行参数的初始值;
步骤2:依次对图数据结构中的每个数据设置内存管理策略,针对其中每条数据依次判断:
步骤2.1:当运行参数中的变量GPUIsFull的值为false时执行步骤2.1.1;否则执行步骤2.1.2;
步骤2.1.1:当图数据的大小小于availGPUMemSize时执行步骤2.1.1.1;否则执行步骤2.1.1.2;
步骤2.1.1.1:调用cudaMemPrefetchAsync,将图数据预取到GPU内存中;设置AvailGPUMemSize-=Data的大小;返回步骤2;
步骤2.1.1.2:设置运行参数中的变量GPUIsFull的值为true时,调用cudaMemAdvise将Data的提示设为AccessedBy;调用cudaMemPrefetchAsync预取大小为运行参数中的预读率τ×availGPUMemSize大小的图数据到GPU内存中;返回步骤2;
步骤2.1.2:调用cudaMemAdvise将Data的提示设为AccessedBy;返回步骤2。
4.根据权利要求3所述的自适应的面向大图的统一内存管理方法,其特征是,所述的运行参数包括:内存已满(GPUIsFull)、GPU当前可用的内存容量(availGPUMemSize)以及预读率τ。
5.根据权利要求4所述的自适应的面向大图的统一内存管理方法,其特征是,所述的初始化是指:将GPUIsFull设置为false;通过cudaMemGetInfo获取availGPUMemSize。
6.一种实现上述任一权利要求所述方法的自适应的面向大图的统一内存管理系统,其特征在于,包括:系统参数设置模块、数据读取模块、内存管理策略设置模块,其中:系统参数设置模块调用CUDA编程接口获取内存管理策略运行参数并进行初始化,数据读取模块从存储器读取图数据文件,在CPU内存中构建相应的图数据结构,内存管理策略设置模块对图数据结构通过调用支持CUDA8.0的应用程序接口设置数据的预读、提示的策略。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011244031.3A CN112346869B (zh) | 2020-11-10 | 2020-11-10 | 自适应的面向大图的统一内存管理方法及系统 |
US18/040,905 US20230297234A1 (en) | 2020-11-10 | 2021-01-18 | Adaptive unified memory management method and system for large-scale graphs |
PCT/CN2021/072376 WO2022099925A1 (zh) | 2020-11-10 | 2021-01-18 | 自适应的面向大图的统一内存管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011244031.3A CN112346869B (zh) | 2020-11-10 | 2020-11-10 | 自适应的面向大图的统一内存管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112346869A true CN112346869A (zh) | 2021-02-09 |
CN112346869B CN112346869B (zh) | 2021-07-13 |
Family
ID=74362382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011244031.3A Active CN112346869B (zh) | 2020-11-10 | 2020-11-10 | 自适应的面向大图的统一内存管理方法及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230297234A1 (zh) |
CN (1) | CN112346869B (zh) |
WO (1) | WO2022099925A1 (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999946A (zh) * | 2012-09-17 | 2013-03-27 | Tcl集团股份有限公司 | 一种3d图形数据处理方法、装置及设备 |
CN103226540A (zh) * | 2013-05-21 | 2013-07-31 | 中国人民解放军国防科学技术大学 | 基于分组多流的gpu上多区结构网格cfd加速方法 |
US20160125566A1 (en) * | 2014-10-29 | 2016-05-05 | Daegu Gyeongbuk Institute Of Science And Technology | SYSTEM AND METHOD FOR PROCESSING LARGE-SCALE GRAPHS USING GPUs |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8373710B1 (en) * | 2011-12-30 | 2013-02-12 | GIS Federal LLC | Method and system for improving computational concurrency using a multi-threaded GPU calculation engine |
KR20130093995A (ko) * | 2012-02-15 | 2013-08-23 | 한국전자통신연구원 | 계층적 멀티코어 프로세서의 성능 최적화 방법 및 이를 수행하는 멀티코어 프로세서 시스템 |
US9430400B2 (en) * | 2013-03-14 | 2016-08-30 | Nvidia Corporation | Migration directives in a unified virtual memory system architecture |
US9400767B2 (en) * | 2013-12-17 | 2016-07-26 | International Business Machines Corporation | Subgraph-based distributed graph processing |
US9886736B2 (en) * | 2014-01-20 | 2018-02-06 | Nvidia Corporation | Selectively killing trapped multi-process service clients sharing the same hardware context |
CN104835110B (zh) * | 2015-04-15 | 2017-12-22 | 华中科技大学 | 一种基于gpu的异步图数据处理系统 |
CN110187968B (zh) * | 2019-05-22 | 2023-03-14 | 上海交通大学 | 异构计算环境下的图数据处理加速方法 |
CN111930498B (zh) * | 2020-06-29 | 2022-11-29 | 苏州浪潮智能科技有限公司 | 一种高效的gpu资源分配优化方法和系统 |
-
2020
- 2020-11-10 CN CN202011244031.3A patent/CN112346869B/zh active Active
-
2021
- 2021-01-18 WO PCT/CN2021/072376 patent/WO2022099925A1/zh active Application Filing
- 2021-01-18 US US18/040,905 patent/US20230297234A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999946A (zh) * | 2012-09-17 | 2013-03-27 | Tcl集团股份有限公司 | 一种3d图形数据处理方法、装置及设备 |
CN103226540A (zh) * | 2013-05-21 | 2013-07-31 | 中国人民解放军国防科学技术大学 | 基于分组多流的gpu上多区结构网格cfd加速方法 |
US20160125566A1 (en) * | 2014-10-29 | 2016-05-05 | Daegu Gyeongbuk Institute Of Science And Technology | SYSTEM AND METHOD FOR PROCESSING LARGE-SCALE GRAPHS USING GPUs |
Non-Patent Citations (2)
Title |
---|
PENGYU WANG等: "Excavating the Potential of GPU for Accelerating Graph Traversal", 《2019 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM》 * |
王靖等: "《面向图计算的内存系统优化技术综述》", 《中国科学:信息科学》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112346869B (zh) | 2021-07-13 |
WO2022099925A1 (zh) | 2022-05-19 |
US20230297234A1 (en) | 2023-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101253012B1 (ko) | 이종 플랫폼에서 포인터를 공유시키는 방법 및 장치 | |
US20140149678A1 (en) | Using cache hit information to manage prefetches | |
CN114356223A (zh) | 存储器的访问方法及装置、芯片、电子设备 | |
CN111177079A (zh) | 网络文件系统数据读取方法、装置、设备、介质 | |
CN108874691B (zh) | 数据预取方法和内存控制器 | |
CN112346869B (zh) | 自适应的面向大图的统一内存管理方法及系统 | |
CN112801856B (zh) | 数据处理方法和装置 | |
US11755534B2 (en) | Data caching method and node based on hyper-converged infrastructure | |
CN117555732A (zh) | Cpu利用率监控方法、装置、设备及存储介质 | |
CN117290260A (zh) | 一种数据预取方法、装置、电子设备及存储介质 | |
US10997077B2 (en) | Increasing the lookahead amount for prefetching | |
CN109408412B (zh) | 内存预取控制方法、装置及设备 | |
US8698825B1 (en) | System, method, and computer program product for optimizing use of a vertex cache | |
US8443352B2 (en) | Processing strings based on whether the strings are short strings or long strings | |
WO2019114044A1 (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN113076070A (zh) | 数据处理方法和装置 | |
CN115964084A (zh) | 数据交互方法、电子设备、存储介质 | |
CN101950277B (zh) | 用于微控制单元的数据传输方法与装置以及数据传输系统 | |
CN110796587A (zh) | Drawcall调用处理方法、装置、终端及存储介质 | |
CN112948000B (zh) | 栈空间统计方法、装置及介质 | |
CN113377501B (zh) | 数据处理方法、装置、设备、介质及程序产品 | |
CN118295707B (zh) | 用于快速寄存器的数据搬运方法、处理器、计算设备 | |
CN113893532B (zh) | 技能画面的显示方法和装置、存储介质及电子设备 | |
KR102322593B1 (ko) | 메모리 액세스 제어를 위한 방법, 장치 및 전자 장치 | |
CN113094328B (zh) | 一种用于合成孔径雷达实时成像的多通道并行计算系统 |
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 |