CN111292223B - 图计算的处理方法、装置、电子设备及存储介质 - Google Patents

图计算的处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111292223B
CN111292223B CN202010074245.4A CN202010074245A CN111292223B CN 111292223 B CN111292223 B CN 111292223B CN 202010074245 A CN202010074245 A CN 202010074245A CN 111292223 B CN111292223 B CN 111292223B
Authority
CN
China
Prior art keywords
execution engine
graph
gpu
interface
interface function
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
CN202010074245.4A
Other languages
English (en)
Other versions
CN111292223A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010074245.4A priority Critical patent/CN111292223B/zh
Publication of CN111292223A publication Critical patent/CN111292223A/zh
Priority to EP20202640.7A priority patent/EP3855314A1/en
Priority to US17/076,370 priority patent/US11941055B2/en
Priority to KR1020210009386A priority patent/KR20210095083A/ko
Priority to JP2021008619A priority patent/JP7316305B2/ja
Application granted granted Critical
Publication of CN111292223B publication Critical patent/CN111292223B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • 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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory 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/509Offload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Image Generation (AREA)
  • Devices For Executing Special Programs (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Advance Control (AREA)

Abstract

本申请公开了图计算的处理方法、装置、电子设备及存储介质,涉及图数据库计算领域。具体实现方案为:在中央处理器CPU中配置执行引擎,执行引擎用于主导图计算的执行;配置用于在图形处理器GPU中执行的接口函数,接口函数用于进行图计算中的参数处理或反馈;在执行图计算时,执行引擎通过图计算接口调用接口函数;图形处理器GPU通过多个并行线程执行接口函数,多个并行的接口函数用于并行的对多个图节点进行处理,多个并行线程将接口函数的执行结果反馈至执行引擎;执行引擎根据执行结果完成图计算。能够在进行全图处理时,图中包含的多个节点可以在图形处理器GPU中进行并行处理,进而实现高并发的节点并行处理,提高图计算效率。

Description

图计算的处理方法、装置、电子设备及存储介质
技术领域
本申请实施例涉及计算机技术领域,尤其涉及图数据库领域
背景技术
联机分析处理(Online Analytical Processing,OLAP)是一种数据库分析技术。在对图数据库进行全图分析时,可以使用OLAP技术。
目前的图数据库系统的计算资源是固定的,在使用图数据库系统实现联机分析处理时,对于体量较大的数据库,需要配置上百个服务节点作为计算资源,这种配置方式成本较高。然而,当限制图数据库的计算资源以减少成本时,图数据库的计算速度将大幅降低。如何使用固定计算资源进行高效的图计算效率成为亟待解决的问题。
发明内容
本申请提供一种图计算的处理方法、装置、计算机设备及存储介质,以实现使用固定计算资源实现图计算的并行处理,提高图计算效率。
第一方面,本申请实施例提供了一种图计算的处理方法,包括:
在中央处理器CPU中配置执行引擎,执行引擎用于主导图计算的执行;
配置用于在图形处理器GPU中执行的接口函数,接口函数用于进行图计算中的参数处理或反馈;
在执行图计算时,执行引擎通过图计算接口调用接口函数;
图形处理器GPU通过多个并行线程执行接口函数,多个并行的接口函数用于并行的对多个图节点进行处理,多个并行线程将接口函数的执行结果反馈至执行引擎;
执行引擎根据执行结果完成图计算。
上述申请实施例能够在中央处理器CPU中配置执行引擎,在图形处理器GPU中配置可供执行引擎使用的接口函数;在执行图计算时,中央处理器CPU中的执行引擎通过图计算接口调用接口函数;图形处理器GPU通过多个并行线程执行接口函数,多个并行的接口函数用于并行的对多个图节点进行处理,多个并行线程将接口函数的执行结果反馈至执行引擎;执行引擎根据接口函数反馈执行结果完成图计算。相对于目前只能使用中央处理器CPU进行图处理,导致计算资源固定式,并行处理效率低下,本申请实施例能够利用图形处理器GPU提供的高并发能力,由中央处理器CPU中的执行引擎主导图计算流程,在图计算流程中执行引擎调用图形处理器GPU中执行的接口函数,在进行全图处理时,图中包含的多个节点可以在图形处理器GPU中进行并行处理,进而在固定的计算资源中,实现高并发的节点并行处理,提高图计算效率。
在上述申请的一个实施例中,执行引擎通过图计算接口调用接口函数,可通过下述方式实施:
执行引擎通过调用收集方向前置判断接口函数gather_edge获取入边参数;
执行引擎根据入边参数进行目标节点预设参数的收敛,得到目标节点的更新数据;
执行引擎通过调用数据变更应用接口函数apply对目标节点的预设参数进行更新。
在上述申请实施例中,通过调用图形处理器GPU中执行的接口函数,能够实现同时对多个节点进行并发的快速处理,提高处理效率。
在上述申请的一个实施例中,在执行引擎通过调用数据变更应用接口函数对目标节点的预设参数进行更新之后,还包括:
执行引擎通过调用发散方向前置判断接口函数scatter_edge获取节点的出边参数;
执行引擎通过调用发散接口函数scatter,将更新数据更新到出边的对端节点。
在上述申请实施例中,对于一些需要在收敛后进行发散的场景,如PageRank场景、LPA场景等。能够在目标节点的预设参数更新后,将目标节点的预设参数发送给其出边的对端节点,使图中的节点信息对称,提高图中信息的准确性。
在上述申请的一个实施例中,执行引擎根据入边参数进行目标节点预设参数的收敛,得到目标节点的更新数据,包括:
执行引擎通过访问数据库获取目标节点的入边临接索引;
执行引擎根据入边临接索引进行目标节点预设参数的收敛,得到目标节点的更新数据。
在上述申请实施例中,能够由CPU访问数据库获取邻接表,利用数据库接口从数据库中快速获取数据,提高数据查询效率。
在上述申请的一个实施例中,执行引擎根据入边临接索引进行目标节点预设参数的收敛,得到目标节点的更新数据,包括:
执行引擎根据入边临接索引获取每个入边;
执行引擎通过调用集合接口函数gather获取每个入边的对端节点的预设参数;
执行引擎调用图形处理器GPU中的累加接口函数sum对入边的对端节点的预设参数进行累加,得到目标节点的更新数据。
在上述申请实施例中,能够在图形处理器GPU中进行累加sum计算。通过图形处理器GPU进行sum计算,能够实现并发的多节点预设参数的计算,大幅提高处理效率。同时,为中央处理器CPU减负,累加sum计算较为简单,对GPU的负载影响较小。
在上述申请的一个实施例中,执行引擎通过图计算接口调用接口函数,包括:
执行引擎根据图形处理器GPU的内存空间大小对待处理的图数据进行分块,得到多个节点块,每个节点块与图形处理器GPU的内存空间大小匹配;
执行引擎通过图计算接口调用接口函数,依次对多个节点块进行图计算。
在上述申请实施例中,能够解决中央处理器CPU内存与图形处理器GPU内存大小不匹配,出现图形处理器GPU由于内存较小无法处理全部的图数据的问题。中央处理器CPU中的执行引擎根据图形处理器GPU内存大小对待处理数据进行分块,使得分块后的节点块与GPU内存大小匹配,图形处理器GPU可一次对分块后的节点块进行处理,全部待处理数据的图计算,提高可靠性。
第二方面,本申请实施例还提供了一种图计算的处理装置,包括:
配置模块,用于在中央处理器CPU中配置执行引擎,执行引擎用于主导图计算的执行;配置用于在图形处理器GPU中执行的接口函数,接口函数用于进行图计算中的参数处理或反馈;
执行引擎模块,用于在执行图计算时,通过图计算接口调用接口函数;
接口调用模块,用于图形处理器GPU通过多个并行线程执行接口函数,多个并行的接口函数用于并行的对多个图节点进行处理,多个并行线程将接口函数的执行结果反馈至执行引擎;
执行引擎模块还用于,根据执行结果完成图计算。
第三方面,本申请实施例还提供了一种计算机设备,包括存储器、中央处理器CPU和图形处理器GPU及存储在存储器上并可在处理器和图形处理器上运行的计算机程序,处理器执行程序时实现如第一方面所示的图计算的处理方法。
第四方面,本申请实施例还提供了一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行如第一方面所示的图计算的处理方法。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请第一实施例的架构示意图;
图2是根据本申请第二实施例的流程示意图;
图3是根据本申请第三实施例的流程示意图;
图4是根据本申请第四实施例的流程示意图;
图5是根据本申请第四实施例的结构示意图;
图6是用来实现本申请实施例的图计算的处理的方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
实施例一
图1为申请第一实施例提供的一种图计算的处理架构,该处理架构用于在电子设备中通过中央处理器CPU与图形处理器GPU的协同处理,实现高并发的图计算,提高图计算的处理效率,具体包括:用户编程接口010、执行引擎020、图数据库查询接口030以及图索引040。
其中,执行引擎020在中央处理器CPU中运行,执行引擎020执行图计算的处理步骤,通过用户编程接口010调用接口函数,接口函数在图形处理器GPU中运行,执行引擎020当需要获取图中节点数据时,通过图数据库查询接口030访问数据库以及数据库提供图索引040。
电子设备中包含中央处理器CPU和图形处理器GPU,其中中央处理器中运行执行引擎020,执行引擎020用于进行图计算操作,主导图计算的处理流程。执行引擎020在图计算的处理流程中,可通过用户编程接口010调用接口函数。
接口函数为用户编辑后得到的接口函数,用于实现某节点处理功能,接口函数的功能是固定的,用户(如编程人员或数据库管理人员)可根据自己的编程习惯进行编程,得到接口函数,接口函数的功能与接口函数的预定义功能相符即可。
接口函数通过用户编程接口010接收执行引擎020的调用。执行引擎020在执行图计算的流程时,可通过参数代入或调用的方式使用用户编程接口010。接口函数被调用时,在GPU中并行运行,同时处理多个节点的图计算。在完成接口函数预定的功能时,接口函数将结果数据通过用户编程接口010反馈给执行引擎020。
在图计算过程中或涉及到获取目标节点的图索引040,而该图索引040往往存储在数据库中。上述处理架构中,执行引擎020通过数据库查询接口向数据库发起图索引040查询;通过原生图数据库查询引擎获取图索引040。数据库基于其存储的图索引040,将目标节点的索引信息通过数据库查询接口反馈给执行引擎020。
本申请实施例提供的图计算的处理架构,中央处理器CPU运行的执行引擎020能够调用用户编程接口010;用户编程接口010对应的接口函数与图形处理器GPU中运行;当需要获取目标节点的邻接索引等数据时,执行引擎020通过数据库查询接口访问数据库,通过访问图数据库提供的图索引040可获取到目标节点的邻接节点,以便完成图计算。上述处理架构提供了在中央处理器CPU与图形处理器GPU之间高效的提供数据服务和高并发的执行数据处理的系统框架,能够实现在固定的计算机资源中,通过图形处理器GPU实现高并发的节点处理,并有执行引擎020主导图计算流程,提高图计算的处理效率,提供并发处理能力。
实施例二
图2为本申请第二实施例提供的一种图计算的处理方法的示意图,该方法应用于图计算处理过程,尤其是使用中央处理器CPU与图形处理器GPU协同进行图处理的过程,该方法可以由执行图计算的电子设备执行,电子设备可以为个人电脑、服务器、智能手机、平板电脑等,该方法包括:
步骤101、在中央处理器CPU中配置执行引擎,执行引擎用于主导图计算的执行。
可以在中央处理器中申请处理器资源供执行引擎使用,执行引擎加载图计算的计算流程。
步骤102、配置用于在图形处理器GPU中执行的接口函数,接口函数用于进行图计算中的参数处理或反馈。
图形处理器中接口函数可接收执行引擎的调用。当执行引擎调用接口函数运行时,图形处理器GPU分配资源以执行接口函数。
步骤101和步骤102的执行顺序不分先后,也可同时执行。
步骤103、在执行图计算时,执行引擎通过图计算接口调用接口函数。
图计算可应用于多种场景,特别是联机分析处理OLAP中的全图计算场景,例如Pagerank、Lpa、连通度等。整个用户图计算(pagerank lpa等)都由执行引擎驱动。其中Pagerank又称网页权重分析,用于对全网页库中所有网页做权重分析。Lpa又称为社区发现,例如,用于在金融交易库中标记一些确定为诈骗嫌疑的账户,推算出可能得诈骗集团等。为了方便描述,后续实施例以实现PAgerank执行过程为例进行说明。
在执行图计算时,执行引擎根据响应于用户的图数据库操作,进行相应的图计算。执行引擎在执行图计算时,将图计算过程中使用的参数作为输参数,调用接口函数。接口函数运行在图形处理器GPU中。
步骤104、图形处理器GPU通过多个并行线程执行接口函数,多个并行的接口函数用于并行的对多个图节点进行处理,多个并行线程将接口函数的执行结果反馈至执行引擎。
当图形处理器GPU中的存储空间,能够容纳全图计算包含的全部计算对象时,图形处理器通过并行的线程分别对每个节点进行处理。每个线程针对各自处理的节点运行相同的接口函数,反馈相应节点的反馈数据,实现GPU中通过并行的多线程实现图计算的并行处理。其中,图形处理器中每个线程由流处理器执行。GPU中流处理器能够大规模的并发执行
示例性,例如全图包含100个阶段,GPU中存储空间可存储100个节点数据,同时GPU中可配置100个流处理器分别执行100个并行的线程,并行处理100个节点,每个线程均执行收集方向前置判断,反馈各节点的入边参数。
本申请实施例中,图形处理器GPU通常应用于机器学习以及图形计算方面。很少应用在数据库处理方面。图形处理器GPU拥有大量的流处理器,每个流处理器相当于一个弱化的中央处理器CPU。这些流处理器可以大规模(数百万个)的并发执行。GPU中的多线程并行成本远低于常规的中央处理器CPU并行成本。步骤105、执行引擎根据执行结果完成图计算。
上述申请实施例提供的图计算的处理方法,能够在中央处理器CPU中配置执行引擎,在图形处理器GPU中配置可供执行引擎使用的接口函数;在执行图计算时,中央处理器CPU中的执行引擎通过图计算接口调用接口函数;图形处理器GPU通过多个并行线程执行接口函数,多个并行的接口函数用于并行的对多个图节点进行处理,多个并行线程将接口函数的执行结果反馈至执行引擎;执行引擎根据接口函数反馈执行结果完成图计算。相对于目前只能使用中央处理器CPU进行图处理,导致计算资源固定式,并行处理效率低下,本申请实施例能够利用图形处理器GPU提供的高并发能力,由中央处理器CPU中的执行引擎主导图计算流程,在图计算流程中执行引擎调用图形处理器GPU中执行的接口函数,在进行全图处理时,图中包含的多个节点可以在图形处理器GPU中进行并行处理,进而在固定的计算资源中,实现高并发的节点并行处理,提高图计算效率。
进一步的,中央处理器CPU的内存空间较大,可读取较大体量的图数据。图形处理器GPU的内存空间小于中央处理器CPU的内存空间,因此会出现中央处理器CPU一次读取和处理的数据,无法一次性传输给图形处理器进行处理,若直接传输则容易出错,造成数据丢失等错误。基于此,步骤103、执行引擎通过所述图计算接口调用接口函数,可通过下述方式进行实施:执行引擎根据图形处理器GPU的内存空间大小对待处理的图数据进行分块,得到多个节点块,每个节点块与图形处理器GPU的内存空间大小匹配;执行引擎通过图计算接口调用接口函数,依次对多个节点块进行图计算。
中央处理器CPU预先获取图形处理器GPU的内存空间大小。若当前能处理的图数据的数据量大于图形处理器GPU的内存空间大小,则按照图形处理器的内存空间大小对图数据进行分块,得到多个节点块,每个节点块的数据量与图形处理器GPU的内存空间大小相同。
示例性的,可以采用分块(block by block)技术对图数据进行拆分,由执行引擎预测大小并根据节点(vertex)进行分块。
本申请实施例提供的图计算的处理方法,能够解决中央处理器CPU内存与图形处理器GPU内存大小不匹配,出现图形处理器GPU由于内存较小无法处理全部的图数据的问题。中央处理器CPU中的执行引擎根据图形处理器GPU内存大小对待处理数据进行分块,使得分块后的节点块与GPU内存大小匹配,图形处理器GPU可一次对分块后的节点块进行处理,全部待处理数据的图计算,提高可靠性。
实施例三
图3为本申请第三实施例提供的一种图计算的处理方法的示意图,作为对上述实施例的进一步说明,包括:
步骤201、在中央处理器CPU中配置执行引擎,执行引擎用于主导图计算的执行。
步骤202、配置用于在图形处理器GPU中执行的接口函数,接口函数用于进行图计算中的参数处理或反馈。
步骤201和步骤202的执行顺序不分先后。
步骤203、在执行图计算时,执行引擎通过调用收集方向前置判断接口函数gather_edge获取入边参数。
在进行全图处理时,本申请实施例提供了一种收敛-应用-发散(简称GAS)的处理思路,这类计算抽象了一个大概通用的计算流程,将整个图计算分为三步,这三步同时(并发的)作用在每个点上。其中,收集(collect/gather)包括:搜集当前节点周边节点的信息,并进行相应算法的计算。应用,又称更新(update/apply),包括:将第一步的计算结果作用到当前节点上。发散,又称广播(signal),包括:向周边节点广播自己的数据。
收集方向前置判断接口函数gather_edge的输入参数为节点(Vertex)数据,节点数据用于标识图中的某个节点。执行引擎拷贝节点(Vertex)数据到图形处理器GPU,作为参数传入GPU中运行的gather_edge。
示例性的,执行引擎将当前处理的节点A当做参数调起收集方向前置判断接口函数gather_edge,以便接收收集方向前置判断接口函数gather_edge根据节点A反馈的参数。
在PageRank场景中,需要根据入边计算邻接节点权重,所以收集方向前置判断接口函数gather_edge返回入边参数(IN)。
步骤204、执行引擎根据入边参数进行目标节点预设参数的收敛,得到目标节点的更新数据。
执行引擎获取目标节点的入边的对端节点,根据对端节点的预设参数进行累加等处理,得到目标节点的更新数据。在PageRank场景中,预设参数可以为节点的权重。
步骤205、执行引擎通过调用数据变更应用接口函数apply对目标节点的预设参数进行更新。
步骤204得到目标节点的更新数据后,执行引擎通过调用数据变更应用接口函数apply,实现目标节点的预设参数的更新。此时,将更新数据作为参数调用数据变更应用接口函数apply。
进一步的,可以检查更新数据和原数据(目标节点更新前的预设参数数值)的波动幅度。并保留这个波动。后续可以根据这个幅度进行进一步分析等操作。
步骤206、图形处理器GPU通过多个并行线程执行接口函数,多个并行的接口函数用于并行的对多个图节点进行处理,多个并行线程将接口函数的执行结果反馈至执行引擎。
需要说明的是,上述步骤中调用接口函数时,在图形处理器GPU中通过多个流处理器对图数据中的多个节点进行并行处理。例如,调用收集方向前置判断接口函数gather_edge、数据变更应用接口函数apply等,均可在图形处理器GPU以并行方式运行接口函数。
步骤207、执行引擎根据执行结果完成图计算。
本发明实施例提供的图计算的处理方法,通过调用图形处理器GPU中执行的接口函数,能够实现同时对多个节点进行并发的快速处理,提高处理效率。实现了对节点进行收敛和应用的并行处理。
进一步的,在一些应用场景中,除了对节点进行收敛和应用以外,还需要将更新后的更新素具告知目标节点的出边对端,完成发散。基于此,在步骤205、执行引擎通过调用数据变更应用接口函数对目标节点的预设参数进行更新之后,还包括:
步骤208、执行引擎通过调用发散方向前置判断接口函数scatter_edge获取节点的出边参数。
发散方向前置判断接口函数scatter_edge的输入参数为节点(Vertex)数据,节点数据用于标识图中的某个节点。执行引擎拷贝节点(Vertex)数据到图形处理器GPU,作为参数传入GPU中运行的发散方向前置判断接口函数scatter_edge。
示例性的,执行引擎将当前处理的节点A当做参数调起发散方向前置判断接口函数scatter_edge,以便接收发散方向前置判断接口函数scatter_edge根据节点A反馈的参数(OUT)。
在步骤205使用数据变更应用接口函数apply对目标节点的更新数据进行更新后,获取数据变更应用接口函数apply保留的波动值。如果波动值收敛,则返回NONE,否则返回OUT。在PageRank场景中,在更新目标节点的更新数据后,向目标节点的出边对端节点(outneighbor)告知目标节点的更新数据。
步骤209、执行引擎通过调用发散接口函数scatter,将更新数据更新到出边的对端节点。
当发散方向前置判断接口函数scatter_edge返回发散参数OUT时,执行引擎调用发散接口函数scatter,以便将目标节点的更新数据更新到其出边对端节点上。
本发明实施例提供的图计算的处理方法,对于一些需要在收敛后进行发散的场景,如PageRank场景、LPA场景等。能够在目标节点的预设参数更新后,将目标节点的预设参数发送给其出边的对端节点,使图中的节点信息对称,提高图中信息的准确性。
实施例四
图4为本申请第四实施例提供的一种图计算的处理方法的示意图,作为对上述实施例的进一步说明,包括:
步骤301、在中央处理器CPU中配置执行引擎,执行引擎用于主导图计算的执行。
步骤302、配置用于在图形处理器GPU中执行的接口函数,接口函数用于进行图计算中的参数处理或反馈。
步骤301和步骤302的执行顺序不分先后。
步骤303、在执行图计算时,执行引擎通过调用收集方向前置判断接口函数gather_edge获取入边参数。
步骤304、执行引擎通过访问数据库获取目标节点的入边临接索引。
执行引擎在接收到调用收集方向前置判断接口函数gather_edge反馈的入边参数时,通过数据库访问接口访问数据库,从数据库中调取当前节点的入边邻接索引。
步骤305、执行引擎根据入边临接索引进行目标节点预设参数的收敛,得到目标节点的更新数据。
若当前节点具有多个入边,则分别获取当前节点的入边的对端节点的预设参数。预设参数如权重参数。对全部入边的对端节点的预设参数进行累计完成目标节点的预设参数的收敛。
可选的,步骤305可通过下述方式进行实施:
1)执行引擎根据入边临接索引获取每个入边。
2)执行引擎通过调用集合接口函数gather获取每个入边的对端节点的预设参数。
集合接口函数gather用于向执行引擎反馈入边的对端节点的预设参数。当目标节点具有多个入边时,则通过多次调用集合接口函数gather依次获取每个入边的对端节点的预设参数。预设参数可以为权重参数。
3)执行引擎调用图形处理器GPU中的累加接口函数sum对入边的对端节点的预设参数进行累加,得到目标节点的更新数据。
在并行处理过程中,GPU中存在多个并行的流处理器,此时可以在GPU中通过流处理器对其处理的当前节点的预设参数进行累加。此时,执行引擎通过调用与图形处理器GPU的累加接口函数sum,实现并行的对多个节点的预设参数进行累加,分别得到每个目标节点的更新数据。
在上述申请实施例中,能够在图形处理器GPU中进行累加sum计算。通过图形处理器GPU进行sum计算,能够实现并发的多节点预设参数的计算,大幅提高处理效率。同时,为中央处理器CPU减负,累加sum计算较为简单,对GPU的负载影响较小。
步骤306、执行引擎通过调用数据变更应用接口函数apply对目标节点的预设参数进行更新。
步骤307、图形处理器GPU通过多个并行线程执行接口函数,多个并行的接口函数用于并行的对多个图节点进行处理,多个并行线程将接口函数的执行结果反馈至执行引擎。
步骤308、执行引擎根据执行结果完成图计算。
在上述申请实施例中,能够由CPU访问数据库获取邻接表,利用数据库接口从数据库中快速获取数据,提高数据查询效率。
实施例五
图5为本申请第五实施例提供的一种图计算的处理装置400的结构示意图,该装置应用于图计算处理过程,尤其是使用中央处理器CPU与图形处理器GPU协同进行图处理的过程,该装置可以由执行图计算的电子设备执行,电子设备可以为个人电脑、服务器、智能手机、平板电脑等,该装置包括:配置模块401、执行引擎模块402和接口调用模块403;其中:
配置模块401,用于在中央处理器CPU中配置执行引擎,执行引擎用于主导图计算的执行;配置用于在图形处理器GPU中执行的接口函数,接口函数用于进行图计算中的参数处理或反馈;
执行引擎模块402,用于在执行图计算时,通过图计算接口调用接口函数;
接口调用模块403,用于图形处理器GPU通过多个并行线程执行接口函数,多个并行的接口函数用于并行的对多个图节点进行处理,多个并行线程将接口函数的执行结果反馈至执行引擎;
执行引擎模块402还用于,根据执行结果完成图计算。
本申请实施例提供的图计算的处理装置,能够配置模块401能够在中央处理器CPU中配置执行引擎,在图形处理器GPU中配置可供执行引擎使用的接口函数;在执行图计算时,执行引擎模块402通过图计算接口调用接口函数;接口调用模块403在图形处理器GPU中通过多个并行线程执行接口函数,多个并行的接口函数用于并行的对多个图节点进行处理,多个并行线程将接口函数的执行结果反馈至执行引擎;执行引擎根据接口函数反馈执行结果完成图计算。相对于目前只能使用中央处理器CPU进行图处理,导致计算资源固定式,并行处理效率低下,本申请实施例能够利用图形处理器GPU提供的高并发能力,由中央处理器CPU中的执行引擎主导图计算流程,在图计算流程中执行引擎调用图形处理器GPU中执行的接口函数,在进行全图处理时,图中包含的多个节点可以在图形处理器GPU中进行并行处理,进而在固定的计算资源中,实现高并发的节点并行处理,提高图计算效率。
在上述实施例的一种实现方式中,执行引擎模块402用于:
执行引擎通过调用收集方向前置判断接口函数gather_edge获取入边参数;
执行引擎根据入边参数进行目标节点预设参数的收敛,得到目标节点的更新数据;
执行引擎通过调用数据变更应用接口函数apply对目标节点的预设参数进行更新。
在上述申请实施例中,通过调用图形处理器GPU中执行的接口函数,能够实现同时对多个节点进行并发的快速处理,提高处理效率。
在上述实施例的一种实现方式中,执行引擎模块402用于:
执行引擎通过调用发散方向前置判断接口函数scatter_edge获取节点的出边参数;
执行引擎通过调用发散接口函数scatter,将更新数据更新到出边的对端节点。
在上述申请实施例中,对于一些需要在收敛后进行发散的场景,如PageRank场景、LPA场景等。能够在目标节点的预设参数更新后,将目标节点的预设参数发送给其出边的对端节点,使图中的节点信息对称,提高图中信息的准确性。
在上述实施例的一种实现方式中,执行引擎模块402用于:执行引擎通过访问数据库获取目标节点的入边临接索引;
执行引擎根据入边临接索引进行目标节点预设参数的收敛,得到目标节点的更新数据。
在上述申请实施例中,能够由CPU访问数据库获取邻接表,利用数据库接口从数据库中快速获取数据,提高数据查询效率。
在上述实施例的一种实现方式中,执行引擎模块402用于:
执行引擎根据入边临接索引获取每个入边;
执行引擎通过调用集合接口函数gather获取每个入边的对端节点的预设参数;
执行引擎调用图形处理器GPU中的累加接口函数sum对入边的对端节点的预设参数进行累加,得到目标节点的更新数据。
在上述申请实施例中,能够在图形处理器GPU中进行累加sum计算。通过图形处理器GPU进行sum计算,能够实现并发的多节点预设参数的计算,大幅提高处理效率。同时,为中央处理器CPU减负,累加sum计算较为简单,对GPU的负载影响较小。
在上述实施例的一种实现方式中,执行引擎模块402用于:
执行引擎根据图形处理器GPU的内存空间大小对待处理的图数据进行分块,得到多个节点块,每个节点块与图形处理器GPU的内存空间大小匹配;
执行引擎通过图计算接口调用接口函数,依次对多个节点块进行图计算。
在上述申请实施例中,能够解决中央处理器CPU内存与图形处理器GPU内存大小不匹配,出现图形处理器GPU由于内存较小无法处理全部的图数据的问题。中央处理器CPU中的执行引擎根据图形处理器GPU内存大小对待处理数据进行分块,使得分块后的节点块与GPU内存大小匹配,图形处理器GPU可一次对分块后的节点块进行处理,全部待处理数据的图计算,提高可靠性。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图6所示,是根据本申请实施例的图计算的处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
电子设备包括:至少一个中央处理器CPU和图形处理器GPU;以及与至少一个中央处理器CPU或图形处理器GPU通信连接的存储器;其中,存储器存储有可被至少一个中央处理器CPU或图形处理器GPU执行的指令,指令被至少一个处理器执行。
如图6所示,该电子设备包括:一个或多个中央处理器CPU501和图形处理器GPU502、存储器503,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个中央处理器CPU501和一个图形处理器GPU502为例。
存储器503即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请所提供的图计算的处理的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的图计算的处理方法。
存储器503作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的图计算的处理方法对应的程序指令/模块(例如,附图6所示的配置模块401、执行引擎模块402和接口调用模块403)。中央处理器CPU501或图形处理器GPU502通过运行存储在存储器503中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的图计算的处理方法。
存储器503可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据图计算的处理的电子设备的使用所创建的数据等。此外,存储器503可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器503可选包括相对于中央处理器处理器501或图形处理器502远程设置的存储器,这些远程存储器可以通过网络连接至图计算的处理的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
图计算的处理的方法的电子设备还可以包括:输入装置504和输出装置505。中央处理器501、图形处理器502、存储器503、输入装置504和输出装置505可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置504可接收输入的数字或字符信息,以及产生与图计算的处理的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置505可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,能够在中央处理器CPU中配置执行引擎,在图形处理器GPU中配置可供执行引擎使用的接口函数;在执行图计算时,中央处理器CPU中的执行引擎通过图计算接口调用接口函数;图形处理器GPU通过多个并行线程执行接口函数,多个并行的接口函数用于并行的对多个图节点进行处理,多个并行线程将接口函数的执行结果反馈至执行引擎;执行引擎根据接口函数反馈执行结果完成图计算。相对于目前只能使用中央处理器CPU进行图处理,导致计算资源固定式,并行处理效率低下,本申请实施例能够利用图形处理器GPU提供的高并发能力,由中央处理器CPU中的执行引擎主导图计算流程,在图计算流程中执行引擎调用图形处理器GPU中执行的接口函数,在进行全图处理时,图中包含的多个节点可以在图形处理器GPU中进行并行处理,进而在固定的计算资源中,实现高并发的节点并行处理,提高图计算效率。
能够通过调用图形处理器GPU中执行的接口函数,能够实现同时对多个节点进行并发的快速处理,提高处理效率。对于一些需要在收敛后进行发散的场景,如PageRank场景、LPA场景等。能够在目标节点的预设参数更新后,将目标节点的预设参数发送给其出边的对端节点,使图中的节点信息对称,提高图中信息的准确性。
能够由CPU访问数据库获取邻接表,利用数据库接口从数据库中快速获取数据,提高数据查询效率。并且,能够在图形处理器GPU中进行累加sum计算。通过图形处理器GPU进行sum计算,能够实现并发的多节点预设参数的计算,大幅提高处理效率。同时,为中央处理器CPU减负,累加sum计算较为简单,对GPU的负载影响较小。
还能够解决中央处理器CPU内存与图形处理器GPU内存大小不匹配,出现图形处理器GPU由于内存较小无法处理全部的图数据的问题。中央处理器CPU中的执行引擎根据图形处理器GPU内存大小对待处理数据进行分块,使得分块后的节点块与GPU内存大小匹配,图形处理器GPU可一次对分块后的节点块进行处理,全部待处理数据的图计算,提高可靠性。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (14)

1.一种图计算的处理方法,其特征在于,包括:
在中央处理器CPU中配置执行引擎,所述执行引擎用于主导图计算的执行;
配置用于在图形处理器GPU中执行的接口函数,所述接口函数用于进行图计算中的参数处理或反馈;
在执行图计算时,所述执行引擎通过图计算接口调用接口函数;
所述图形处理器GPU通过多个并行线程执行所述接口函数,多个并行的接口函数用于并行的对多个图节点进行处理,所述多个并行线程将所述接口函数的执行结果反馈至所述执行引擎;
所述执行引擎根据所述执行结果完成图计算。
2.根据权利要求1所述的图计算的处理方法,其特征在于,所述执行引擎通过所述图计算接口调用接口函数,包括:
执行引擎通过调用收集方向前置判断接口函数gather_edge获取入边参数;
执行引擎根据所述入边参数进行目标节点预设参数的收敛,得到所述目标节点的更新数据;
执行引擎通过调用数据变更应用接口函数apply对所述目标节点的预设参数进行更新。
3.根据权利要求2所述的图计算的处理方法,其特征在于,在执行引擎通过调用数据变更应用接口函数对所述目标节点的预设参数进行更新之后,还包括:
执行引擎通过调用发散方向前置判断接口函数scatter_edge获取节点的出边参数;
执行引擎通过调用发散接口函数scatter,将所述更新数据更新到出边的对端节点。
4.根据权利要求2所述的图计算的处理方法,其特征在于,执行引擎根据所述入边参数进行目标节点预设参数的收敛,得到所述目标节点的更新数据,包括:
执行引擎通过访问数据库获取目标节点的入边临接索引;
执行引擎根据所述入边临接索引进行目标节点预设参数的收敛,得到所述目标节点的更新数据。
5.根据权利要求4所述的图计算的处理方法,其特征在于,执行引擎根据所述入边临接索引进行目标节点预设参数的收敛,得到所述目标节点的更新数据,包括:
执行引擎根据所述入边临接索引获取每个入边;
执行引擎通过调用集合接口函数gather获取所述每个入边的对端节点的预设参数;
执行引擎调用图形处理器GPU中的累加接口函数sum对所述入边的对端节点的预设参数进行累加,得到所述目标节点的更新数据。
6.根据权利要求1所述的图计算的处理方法,其特征在于,所述执行引擎通过所述图计算接口调用接口函数,包括:
所述执行引擎根据图形处理器GPU的内存空间大小对待处理的图数据进行分块,得到多个节点块,每个节点块与图形处理器GPU的内存空间大小匹配;
所述执行引擎通过所述图计算接口调用接口函数,依次对所述多个节点块进行图计算。
7.一种图计算的处理装置,其特征在于,包括:
配置模块,用于在中央处理器CPU中配置执行引擎,所述执行引擎用于主导图计算的执行;配置用于在图形处理器GPU中执行的接口函数,所述接口函数用于进行图计算中的参数处理或反馈;
执行引擎模块,用于在执行图计算时,通过图计算接口调用接口函数;
接口调用模块,用于所述图形处理器GPU通过多个并行线程执行所述接口函数,多个并行的接口函数用于并行的对多个图节点进行处理,所述多个并行线程将所述接口函数的执行结果反馈至所述执行引擎;
所述执行引擎模块还用于,根据所述执行结果完成图计算。
8.根据权利要求7所述的图计算的处理装置,其特征在于,所述执行引擎模块用于:
执行引擎通过调用收集方向前置判断接口函数gather_edge获取入边参数;
执行引擎根据所述入边参数进行目标节点预设参数的收敛,得到所述目标节点的更新数据;
执行引擎通过调用数据变更应用接口函数apply对所述目标节点的预设参数进行更新。
9.根据权利要求8所述的图计算的处理装置,其特征在于,所述执行引擎模块用于:
执行引擎通过调用发散方向前置判断接口函数scatter_edge获取节点的出边参数;
执行引擎通过调用发散接口函数scatter,将所述更新数据更新到出边的对端节点。
10.根据权利要求8所述的图计算的处理装置,其特征在于,所述执行引擎模块用于:
执行引擎通过访问数据库获取目标节点的入边临接索引;
执行引擎根据所述入边临接索引进行目标节点预设参数的收敛,得到所述目标节点的更新数据。
11.根据权利要求10所述的图计算的处理装置,其特征在于,所述执行引擎模块用于:
执行引擎根据所述入边临接索引获取每个入边;
执行引擎通过调用集合接口函数gather获取所述每个入边的对端节点的预设参数;
执行引擎调用图形处理器GPU中的累加接口函数sum对所述入边的对端节点的预设参数进行累加,得到所述目标节点的更新数据。
12.根据权利要求7所述的图计算的处理装置,其特征在于,所述执行引擎模块用于:
所述执行引擎根据图形处理器GPU的内存空间大小对待处理的图数据进行分块,得到多个节点块,每个节点块与图形处理器GPU的内存空间大小匹配;
所述执行引擎通过所述图计算接口调用接口函数,依次对所述多个节点块进行图计算。
13.一种电子设备,其特征在于,包括:
至少一个中央处理器CPU和至少一个图形处理器GPU;以及
与所述至少一个中央处理器CPU或图形处理器GPU通信连接的存储器;其中,
所述存储器存储有可被所述至少一个中央处理器CPU和所述至少一个图形处理器GPU执行的指令,所述指令被所述至少一个中央处理器CPU和所述至少一个图形处理器执行,以使所述至少一个中央处理器CPU和所述至少一个图形处理器GPU能够执行权利要求1-6中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的方法。
CN202010074245.4A 2020-01-22 2020-01-22 图计算的处理方法、装置、电子设备及存储介质 Active CN111292223B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202010074245.4A CN111292223B (zh) 2020-01-22 2020-01-22 图计算的处理方法、装置、电子设备及存储介质
EP20202640.7A EP3855314A1 (en) 2020-01-22 2020-10-19 Method and apparatus for graph computing, electronic device and storage medium
US17/076,370 US11941055B2 (en) 2020-01-22 2020-10-21 Method and apparatus for graph computing, electronic device and storage medium
KR1020210009386A KR20210095083A (ko) 2020-01-22 2021-01-22 그래프 계산의 처리 방법, 장치, 전자기기 및 저장매체
JP2021008619A JP7316305B2 (ja) 2020-01-22 2021-01-22 グラフ計算の処理方法、装置、電子機器及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010074245.4A CN111292223B (zh) 2020-01-22 2020-01-22 图计算的处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111292223A CN111292223A (zh) 2020-06-16
CN111292223B true CN111292223B (zh) 2023-07-25

Family

ID=71030709

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010074245.4A Active CN111292223B (zh) 2020-01-22 2020-01-22 图计算的处理方法、装置、电子设备及存储介质

Country Status (5)

Country Link
US (1) US11941055B2 (zh)
EP (1) EP3855314A1 (zh)
JP (1) JP7316305B2 (zh)
KR (1) KR20210095083A (zh)
CN (1) CN111292223B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111773690B (zh) * 2020-06-30 2021-11-09 完美世界(北京)软件科技发展有限公司 任务的处理方法和装置、存储介质、电子装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102682138A (zh) * 2011-03-15 2012-09-19 深圳光启高等理工研究院 一种数据处理方法
CN103559016A (zh) * 2013-10-23 2014-02-05 江西理工大学 一种基于图形处理器并行计算的频繁子图挖掘方法
CN104835110A (zh) * 2015-04-15 2015-08-12 华中科技大学 一种基于gpu的异步图数据处理系统
CN105159761A (zh) * 2008-06-06 2015-12-16 苹果公司 用于在多处理器上进行数据并行计算的应用编程接口
US9223551B1 (en) * 2014-07-22 2015-12-29 Here Global B.V. Rendergraph compilation method and use thereof for low-latency execution
CN108460458A (zh) * 2017-01-06 2018-08-28 谷歌有限责任公司 在图形处理单元上执行计算图
CN108986013A (zh) * 2017-06-02 2018-12-11 苹果公司 间接参数缓冲区
CN109933429A (zh) * 2019-03-05 2019-06-25 北京达佳互联信息技术有限公司 数据处理方法、装置、电子设备及存储介质
CN110275771A (zh) * 2018-03-15 2019-09-24 中国移动通信集团有限公司 一种业务处理方法、物联网计费基础设施系统及存储介质
CN110517079A (zh) * 2019-08-23 2019-11-29 北京百度网讯科技有限公司 数据处理方法、装置、电子设备和存储介质
CN110659312A (zh) * 2019-08-01 2020-01-07 北京百度网讯科技有限公司 数据处理的方法、装置、设备和计算机存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8286196B2 (en) * 2007-05-03 2012-10-09 Apple Inc. Parallel runtime execution on multiple processors
US8341611B2 (en) * 2007-04-11 2012-12-25 Apple Inc. Application interface on multiple processors
FR2996037B1 (fr) * 2012-09-24 2015-05-29 Allegorithmic Moteur hybride pour processeur central et processeur graphique
US10575007B2 (en) * 2016-04-12 2020-02-25 Microsoft Technology Licensing, Llc Efficient decoding and rendering of blocks in a graphics pipeline
CN106126521B (zh) 2016-06-06 2018-06-19 腾讯科技(深圳)有限公司 目标对象的社交账号挖掘方法及服务器
WO2018136963A1 (en) * 2017-01-23 2018-07-26 Kinetica Db, Inc. Distributed and parallelized visualization framework
US10432639B1 (en) * 2017-05-04 2019-10-01 Amazon Technologies, Inc. Security management for graph analytics
US10540194B2 (en) * 2017-12-21 2020-01-21 International Business Machines Corporation Runtime GPU/CPU selection
US11270201B2 (en) * 2017-12-29 2022-03-08 Intel Corporation Communication optimizations for distributed machine learning
US10628909B2 (en) * 2018-06-01 2020-04-21 Apple Inc. Graphics processing unit resource dependency viewer
GB2576572B (en) * 2018-08-24 2020-12-30 Advanced Risc Mach Ltd Processing of temporary-register-using instruction
CN109345239A (zh) 2018-09-10 2019-02-15 河海大学 一种层次重叠并行化社区发现方法
US20220312665A1 (en) * 2019-06-06 2022-10-06 Talleres Metalurgicos Crucianelli S.A. Agricultural tool unit for rapid conversion of a combination seed drill having a trailed or fine-grain seed dispenser to an on-demand supply system and vice versa

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105159761A (zh) * 2008-06-06 2015-12-16 苹果公司 用于在多处理器上进行数据并行计算的应用编程接口
CN102682138A (zh) * 2011-03-15 2012-09-19 深圳光启高等理工研究院 一种数据处理方法
CN103559016A (zh) * 2013-10-23 2014-02-05 江西理工大学 一种基于图形处理器并行计算的频繁子图挖掘方法
US9223551B1 (en) * 2014-07-22 2015-12-29 Here Global B.V. Rendergraph compilation method and use thereof for low-latency execution
CN104835110A (zh) * 2015-04-15 2015-08-12 华中科技大学 一种基于gpu的异步图数据处理系统
CN108460458A (zh) * 2017-01-06 2018-08-28 谷歌有限责任公司 在图形处理单元上执行计算图
CN108986013A (zh) * 2017-06-02 2018-12-11 苹果公司 间接参数缓冲区
CN110275771A (zh) * 2018-03-15 2019-09-24 中国移动通信集团有限公司 一种业务处理方法、物联网计费基础设施系统及存储介质
CN109933429A (zh) * 2019-03-05 2019-06-25 北京达佳互联信息技术有限公司 数据处理方法、装置、电子设备及存储介质
CN110659312A (zh) * 2019-08-01 2020-01-07 北京百度网讯科技有限公司 数据处理的方法、装置、设备和计算机存储介质
CN110517079A (zh) * 2019-08-23 2019-11-29 北京百度网讯科技有限公司 数据处理方法、装置、电子设备和存储介质

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Compiler and runtime support for enabling reduction computations on heterogeneous systems;Vignesh T. Ravi等;《Concurrency and Computation: Practice and Experience》;20121231;第24卷(第5期);第463-480页 *
GasCL:A vertex-centric graph model for GPUs;Shuai Che et,al;《2014 IEEE High Performance Extreme Computing Conference》;20140909;第1-6页 *
GPU通用计算软硬件处理架构研究;谢建春;《航空计算技术》;20130325(第02期);第60-63页 *
GraphReduce:processing large-scale graphs on accelerator-based systems;Dipanjan Sengupta et,al;《Proceedings of the International Conference for High Performance Computing,Networking,Storage and Analysis》;20151115;第1-12页 *
GTS:A Fast and Scalable Graph Processing Method based on Streaming Topology to GPUs;Min-Soo Kim et,al;《Proceedings of the 2016 International Conference on Management of Data》;20160614;第447-461页 *

Also Published As

Publication number Publication date
JP2021118004A (ja) 2021-08-10
US20210224139A1 (en) 2021-07-22
JP7316305B2 (ja) 2023-07-27
KR20210095083A (ko) 2021-07-30
US11941055B2 (en) 2024-03-26
EP3855314A1 (en) 2021-07-28
CN111292223A (zh) 2020-06-16

Similar Documents

Publication Publication Date Title
CN110806923B (zh) 一种区块链任务的并行处理方法、装置、电子设备和介质
EP3916630A1 (en) Method and apparatus for identifying video
CN111177476B (zh) 数据查询方法、装置、电子设备及可读存储介质
US11828606B2 (en) Method and apparatus for updating point cloud
CN111506401B (zh) 自动驾驶仿真任务调度方法、装置、电子设备及存储介质
JP2021193606A (ja) 深層学習に基づく演算子の登録処理方法、装置及び電子機器
CN110706147B (zh) 图像处理的环境确定方法、装置、电子设备和存储介质
EP3872704A2 (en) Header model for instance segmentation, instance segmentation model, image segmentation method and apparatus
CN111292223B (zh) 图计算的处理方法、装置、电子设备及存储介质
US11557047B2 (en) Method and apparatus for image processing and computer storage medium
CN111767442B (zh) 数据更新方法、装置、搜索服务器、终端及存储介质
CN111767059B (zh) 深度学习模型的部署方法、装置、电子设备和存储介质
US20210125353A1 (en) Method and apparatus for detecting and tracking target, electronic device and storage media
CN110517079B (zh) 数据处理方法、装置、电子设备和存储介质
CN112306452A (zh) 归并排序算法处理业务数据的方法、装置及系统
CN111738325B (zh) 图像识别方法、装置、设备以及存储介质
CN112560928A (zh) 负样本挖掘方法、装置、电子设备及存储介质
CN111582480A (zh) 用于对模型剪枝的方法和装置
CN111523000A (zh) 用于导入数据的方法、装置、设备以及存储介质
CN111506787A (zh) 网页更新的方法、装置、电子设备和计算机可读存储介质
CN111506420B (zh) 内存同步方法、装置、电子设备及存储介质
CN111459887B (zh) 资源筛查方法、装置、电子设备和存储介质
CN113568761B (zh) 数据处理方法、装置、设备及存储介质
CN111782497B (zh) 测试方法、测试装置、电子设备和可读存储介质
CN111831319B (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