CN112346869B - 自适应的面向大图的统一内存管理方法及系统 - Google Patents

自适应的面向大图的统一内存管理方法及系统 Download PDF

Info

Publication number
CN112346869B
CN112346869B CN202011244031.3A CN202011244031A CN112346869B CN 112346869 B CN112346869 B CN 112346869B CN 202011244031 A CN202011244031 A CN 202011244031A CN 112346869 B CN112346869 B CN 112346869B
Authority
CN
China
Prior art keywords
gpu
graph
memory
data
setting
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
Application number
CN202011244031.3A
Other languages
English (en)
Other versions
CN112346869A (zh
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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202011244031.3A priority Critical patent/CN112346869B/zh
Priority to PCT/CN2021/072376 priority patent/WO2022099925A1/zh
Priority to US18/040,905 priority patent/US20230297234A1/en
Publication of CN112346869A publication Critical patent/CN112346869A/zh
Application granted granted Critical
Publication of CN112346869B publication Critical patent/CN112346869B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • 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
    • G06F9/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/30Providing cache or TLB in specific location of a processing system
    • G06F2212/302In image processor or graphics adapter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/455Image or video data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6028Prefetching 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的大小为AvailGPUMemSize-Data.size(),其中Data.size()代表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 (5)

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:获取运行参数的初始值,该运行参数包括:内存已满GPUIsFull、GPU当前可用的内存容量AvailGPUMemSize以及预读率τ;
步骤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的大小为AvailGPUMemSize-Data.size(),其中Data.size()代表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设置为false;通过cudaMemGetInfo获取AvailGPUMemSize。
5.一种实现权利要求1~4中任一所述方法的自适应的面向大图的统一内存管理系统,其特征在于,包括:系统参数设置模块、数据读取模块、内存管理策略设置模块,其中:系统参数设置模块调用CUDA编程接口获取内存管理策略运行参数并进行初始化,数据读取模块从存储器读取图数据文件,在CPU内存中构建相应的图数据结构,内存管理策略设置模块对图数据结构通过调用支持CUDA8.0的应用程序接口设置数据的预读、提示的策略。
CN202011244031.3A 2020-11-10 2020-11-10 自适应的面向大图的统一内存管理方法及系统 Active CN112346869B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202011244031.3A CN112346869B (zh) 2020-11-10 2020-11-10 自适应的面向大图的统一内存管理方法及系统
PCT/CN2021/072376 WO2022099925A1 (zh) 2020-11-10 2021-01-18 自适应的面向大图的统一内存管理方法及系统
US18/040,905 US20230297234A1 (en) 2020-11-10 2021-01-18 Adaptive unified memory management method and system for large-scale graphs

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 CN112346869A (zh) 2021-02-09
CN112346869B true 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 (2)

* Cited by examiner, † Cited by third party
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加速方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
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
KR101620602B1 (ko) * 2014-10-29 2016-05-11 재단법인대구경북과학기술원 Gpu를 이용한 큰 규모 그래프 처리 시스템 및 방법
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资源分配优化方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
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加速方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《面向图计算的内存系统优化技术综述》;王靖等;《中国科学:信息科学》;20190318;第49卷(第3期);295-313 *
Excavating the Potential of GPU for Accelerating Graph Traversal;Pengyu Wang等;《2019 IEEE International Parallel and Distributed Processing Symposium》;20191231;221-227 *

Also Published As

Publication number Publication date
CN112346869A (zh) 2021-02-09
WO2022099925A1 (zh) 2022-05-19
US20230297234A1 (en) 2023-09-21

Similar Documents

Publication Publication Date Title
KR101253012B1 (ko) 이종 플랫폼에서 포인터를 공유시키는 방법 및 장치
US8364739B2 (en) Sparse matrix-vector multiplication on graphics processor units
KR100703709B1 (ko) 그래픽스 처리장치와 처리방법, 및 그 기록 매체
US20140149678A1 (en) Using cache hit information to manage prefetches
CN108874691B (zh) 数据预取方法和内存控制器
CN112346869B (zh) 自适应的面向大图的统一内存管理方法及系统
CN110209354B (zh) 用于处理数据的方法、装置、设备和介质
CN111177079A (zh) 网络文件系统数据读取方法、装置、设备、介质
WO2020132833A1 (en) Methods and apparatus to process machine learning model in multi-process web browser environment
US11755534B2 (en) Data caching method and node based on hyper-converged infrastructure
CN113641626A (zh) 一种sram读写控制方法及行缓冲控制器
CN113256779A (zh) 一种基于OpenGL指令的渲染运行方法及系统
CN117290260A (zh) 一种数据预取方法、装置、电子设备及存储介质
US10997077B2 (en) Increasing the lookahead amount for prefetching
US8443352B2 (en) Processing strings based on whether the strings are short strings or long strings
US8698825B1 (en) System, method, and computer program product for optimizing use of a vertex cache
CN111651124B (zh) Ssd映射表多核分区并行重建方法、装置、设备及介质
CN113076070A (zh) 数据处理方法和装置
CN115964084A (zh) 数据交互方法、电子设备、存储介质
CN110796587A (zh) Drawcall调用处理方法、装置、终端及存储介质
CN112948000B (zh) 栈空间统计方法、装置及介质
CN101950277B (zh) 用于微控制单元的数据传输方法与装置以及数据传输系统
CN110929623A (zh) 多媒体文件的识别方法、装置、服务器和存储介质
CN118295707B (zh) 用于快速寄存器的数据搬运方法、处理器、计算设备
CN113377501B (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