CN114756369B - 利用c++编译器的cpu-gpu数据同步方法和装置 - Google Patents

利用c++编译器的cpu-gpu数据同步方法和装置 Download PDF

Info

Publication number
CN114756369B
CN114756369B CN202210409838.0A CN202210409838A CN114756369B CN 114756369 B CN114756369 B CN 114756369B CN 202210409838 A CN202210409838 A CN 202210409838A CN 114756369 B CN114756369 B CN 114756369B
Authority
CN
China
Prior art keywords
data
memory
cpu
gpu
module
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
CN202210409838.0A
Other languages
English (en)
Other versions
CN114756369A (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 Lingwei Junrong Technology Co ltd
Original Assignee
Beijing Lingwei Junrong 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 Lingwei Junrong Technology Co ltd filed Critical Beijing Lingwei Junrong Technology Co ltd
Priority to CN202210409838.0A priority Critical patent/CN114756369B/zh
Publication of CN114756369A publication Critical patent/CN114756369A/zh
Application granted granted Critical
Publication of CN114756369B publication Critical patent/CN114756369B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • 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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

本发明公开了一种利用C++编译器的CPU‑GPU数据同步方法,包括:获取需要进行CPU‑GPU同步的数据的描述;调用C++编译器对需要进行CPU‑GPU同步的数据的描述进行编译,执行编译结果,计算得到渲染系统共享数据和各模块专属数据在内存中需要的存储空间和存储地址,以及在显存中需要的存储空间和存储地址;将需要进行CPU‑GPU同步的数据按渲染系统共享数据和各模块专属数据加载至共享数据和各模块专属数据各自在内存中的存储空间内;将渲染系统共享数据和各模块专属数据按各自在显存中的存储地址从内存中同步至共享数据和各模块专属数据各自在显存中的存储空间内。本发明克服了现有渲染系统缓存本地性差的缺点。

Description

利用C++编译器的CPU-GPU数据同步方法和装置
技术领域
本发明涉及计算机技术领域。更具体地说,本发明涉及一种利用C++编译器的CPU-GPU数据同步方法和装置。
背景技术
渲染系统通常由若干渲染模块构成,基于业务数据,若干渲染模块分别处理不同类型的渲染任务,渲染模块在处理渲染任务时其数据均源自CPU,这些数据(包括系统共享数据和模块专属数据)在渲染过程中需要同步至GPU,现有的渲染系统在CPU-GPU数据同步方面,一般采取以下策略:a、系统共享数据由渲染框架负责数据管理;b、各渲染模块专属数据由各渲染模块自身负责,即通过在内存中创建各自的存储区间,以及在GPU端显存中创建各自的存储区间,再进行两者间的数据同步。上述策略中,由于渲染模块各自负责各自的专属数据同步,故在内存上各模块分配的存储区间零星分散,那么各模块的专属数据在内存中不能连续成片分布(如图1所示),而在CPU计算过程中,为了提高CPU性能,CPU中一般会内置算法,以在缓存中提前预加载可能使用到的数据,例如需要用到的数据分布在连续的内存中,CPU一旦读取了部分数据,那么CPU缓存中有极大概率通过预加载提前读取在连续的内存中的其他数据,因此,上述策略容易导致不同模块的专属数据在渲染过程难以提前读取至CPU缓存中,又CPU对存储类型不同的数据访问速度也不同,如CPU对L2缓存的访问速度在纳秒级别,对内存的访问速度则在微秒级别,由于上述策略使CPU在处理完一个模块的专属数据后不能立即从缓存中读取下一个模块的专属数据,还需要从内存中读取,这就造成了缓存本地性差、系统效率低的问题,GPU原理与CPU类似,因此GPU中也存在同样问题,另外,从系统角度看,由于渲染模块各自负责各自的专属数据同步,那么系统就要进行多次数据同步,这就进一步降低了系统效率。
发明内容
本发明的一个目的是解决至少上述问题,并提供至少后面将说明的优点。
本发明还有一个目的是提供一种利用C++编译器的CPU-GPU数据同步方法和装置,可对需要进行CPU-GPU同步的数据所需的内存和显存进行集中分配,克服了缓存本地性差的缺点,同时对渲染系统共享数据和各模块专属数据进行了集中同步,减少了数据同步次数,提高了渲染系统效率。
为了实现根据本发明的这些目的和其它优点,提供了一种利用C++编译器的CPU-GPU数据同步方法,其包括:
获取需要进行CPU-GPU同步的数据的描述,所述需要进行CPU-GPU同步的数据的描述是用户通过模板标签在特定维度对需要进行CPU-GPU同步的数据进行标注得到的;
调用C++编译器对需要进行CPU-GPU同步的数据的描述进行编译,执行编译结果,计算得到渲染系统共享数据和各模块专属数据在内存中需要的存储空间和存储地址,以及在显存中需要的存储空间和存储地址,以使渲染系统共享数据和各模块专属数据可在内存中连续保存,以及可在显存中连续保存;
将需要进行CPU-GPU同步的数据按渲染系统共享数据和各模块专属数据各自在内存中的存储地址分别加载至共享数据和各模块专属数据各自在内存中的存储空间内;
将渲染系统共享数据和各模块专属数据按各自在显存中的存储地址从内存中同步至共享数据和各模块专属数据各自在显存中的存储空间内。
优选的是,所述特定维度包括:数据静态/动态更新、数据类型两个维度。
本发明还提供一种利用C++编译器的CPU-GPU数据同步装置,其包括:
编码单元,其用于获取需要进行CPU-GPU同步的数据的描述,所述需要进行CPU-GPU同步的数据的描述是用户通过模板标签在特定维度对需要进行CPU-GPU同步的数据进行标注得到的;
编译单元,其用于调用C++编译器对需要进行CPU-GPU同步的数据的描述进行编译,执行编译结果,计算得到渲染系统共享数据和各模块专属数据在内存中需要的存储空间和存储地址,以及在显存中需要的存储空间和存储地址,以使渲染系统共享数据和各模块专属数据可在内存中连续保存,以及可在显存中连续保存;
加载单元,其用于将需要进行CPU-GPU同步的数据按渲染系统共享数据和各模块专属数据各自在内存中的存储地址分别加载至共享数据和各模块专属数据各自在内存中的存储空间内;
同步单元,其用于将渲染系统共享数据和各模块专属数据按各自在显存中的存储地址从内存中同步至共享数据和各模块专属数据各自在显存中的存储空间内。
优选的是,所述特定维度包括:数据静态/动态更新、数据类型两个维度。
本发明还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行上述的利用C++编译器的CPU-GPU数据同步方法。
本发明还提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时,实现上述的利用C++编译器的CPU-GPU数据同步方法。
本发明至少包括以下有益效果:可对需要进行CPU-GPU同步的数据所需的内存和显存进行集中分配,克服了缓存本地性差的缺点,同时对渲染系统共享数据和各模块专属数据进行了集中同步,减少了数据同步次数,提高了渲染系统效率。
本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
图1为现有技术中渲染系统进行CPU-GPU数据同步的结果示意图;
图2为本发明实施例所述利用C++编译器的CPU-GPU数据同步方法的流程图;
图3为渲染系统应用本发明实施例所述利用C++编译器的CPU-GPU数据同步方法的结果示意图;
图4为本发明实施例所述利用C++编译器的CPU-GPU数据同步装置的结构示意图。
具体实施方式
下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
需要说明的是,下述实施方案中所述实验方法,如无特殊说明,均为常规方法,所述试剂和材料,如无特殊说明,均可从商业途径获得;在本发明的描述中,术语“横向”、“纵向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,并不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
如图2所示,本发明提供一种利用C++编译器的CPU-GPU数据同步方法,其包括:
S101、获取需要进行CPU-GPU同步的数据的描述,所述需要进行CPU-GPU同步的数据的描述是用户通过模板标签(Template Tagging)在特定维度对需要进行CPU-GPU同步的数据进行标注得到的;
具体的,所述特定维度包括:数据静态/动态更新(Uniform)、数据类型(vertex)两个维度。
模板标签存在于类型定义之中,根据所适应的编译器不同可选择不同实现策略,如模板类参数、编译期常数等。这些模板标签的本质元数据,描述超越数据类型和逻辑从属关系之上的数据性质。这些模板标签的主要作用包括载入代码渲染模板或对传递过来的参数进行一定的逻辑判断或计算再返回。
通过模板标签(Template Tagging)在特定维度对需要进行CPU-GPU同步的数据进行标注,可根据需要进行CPU-GPU同步的数据在特定维度的特征设置识别规则,还可对需要进行CPU-GPU同步的数据设置存储规则。
S102、调用C++编译器对需要进行CPU-GPU同步的数据的描述进行编译,执行编译结果,计算得到渲染系统共享数据和各模块专属数据在内存中需要的存储空间和存储地址,以及在显存中需要的存储空间和存储地址,以使渲染系统共享数据和各模块专属数据可在内存中连续保存,以及可在显存中连续保存,如图3所示;
C++编译器是将“高级语言”翻译为“机器语言”的程序,这里的“高级语言”是指独立于机器,面向过程或对象的语言,较接近自然语言和数学公式,基本脱离了机器的硬件系统,用于人们更易理解的方式编写程序,编写的程序称之为源程序,“机器语言”是指机器能直接识别的程序语言或指令代码,无需经过翻译。
通过调用C++编译器对需要进行CPU-GPU同步的数据的描述进行编译,可将需要进行CPU-GPU同步的数据的描述翻译为机器其可执行的程序,再进行执行,通过对编译记结果的执行,可计算得到渲染系统共享数据和各模块专属数据在内存中需要的存储空间和存储地址,以及在显存中需要的存储空间和存储地址,这里对需要进行CPU-GPU同步的数据的描述中可写入需要进行CPU-GPU同步的数据的存储规则,使渲染系统共享数据和各模块专属数据在内存中连续保存,以及在显存中连续保存。
S103、将需要进行CPU-GPU同步的数据按渲染系统共享数据和各模块专属数据各自在内存中的存储地址分别加载至共享数据和各模块专属数据各自在内存中的存储空间内;
在为需要进行CPU-GPU同步的数据分配好存储空间和存储地址后,系统就可将需要进行CPU-GPU同步的数据按渲染系统共享数据和各模块专属数据各自在内存中的存储地址分别加载至共享数据和各模块专属数据各自在内存中的存储空间内,这里CPU-GPU同步的数据可源自硬盘或者外界导入(比如云空间导入),这里的分别加载是指共享数据和各模块专属数据分别对应加载至各自在内存中分配的存储空间,在时序一次同时进行。
S104、将渲染系统共享数据和各模块专属数据按各自在显存中的存储地址从内存中同步至共享数据和各模块专属数据各自在显存中的存储空间内。
这里也由系统将渲染系统共享数据和各模块专属数据集中从内存中同步至显存中,在同步过程中,共享数据和各模块专属数据分别对应同步至各自在显存中分配的存储空间,在时序上一次同时进行。
通过对以上本发明实施例的描述可知,在渲染系统进行CPU-GPU同步数据同步时,不再使用渲染系统子模块各自负责各自专属数据的同步策略,而是对需要进行CPU-GPU同步的数据所需的内存和显存进行集中分配,使得渲染系统共享数据和各模块专属数据在内存中连续保存,以及在显存中也连续保存,因此克服了缓存本地性差的缺点,提高了数据读取效率,也即提高了渲染系统效率,同时对渲染系统共享数据和各模块专属数据又进行了集中同步,减少了数据同步次数,虽然提升了数据同步数量,但现代计算系统一次进行10k和100k的数据同步所需要的时间相差很小,故又进一步提高了渲染系统效率。
如图4所示,本发明还提供一种利用C++编译器的CPU-GPU数据同步装置,其包括:
编码单元,其用于获取需要进行CPU-GPU同步的数据的描述,所述需要进行CPU-GPU同步的数据的描述是用户通过模板标签在特定维度对需要进行CPU-GPU同步的数据进行标注得到的;
具体的,所述特定维度包括:数据静态/动态更新、数据类型两个维度。
编译单元,其用于调用C++编译器对需要进行CPU-GPU同步的数据的描述进行编译,执行编译结果,计算得到渲染系统共享数据和各模块专属数据在内存中需要的存储空间和存储地址,以及在显存中需要的存储空间和存储地址,以使渲染系统共享数据和各模块专属数据可在内存中连续保存,以及可在显存中连续保存;
加载单元,其用于将需要进行CPU-GPU同步的数据按渲染系统共享数据和各模块专属数据各自在内存中的存储地址分别加载至共享数据和各模块专属数据各自在内存中的存储空间内;
同步单元,其用于将渲染系统共享数据和各模块专属数据按各自在显存中的存储地址从内存中同步至共享数据和各模块专属数据各自在显存中的存储空间内。
通过对以上本发明实施例的描述可知,在渲染系统进行CPU-GPU同步数据同步时,不再使用渲染系统子模块各自负责各自专属数据的同步策略,而是对需要进行CPU-GPU同步的数据所需的内存和显存进行集中分配,使得渲染系统共享数据和各模块专属数据在内存中连续保存,以及在显存中也连续保存,因此克服了缓存本地性差的缺点,提高了数据读取效率,也即提高了渲染系统效率,同时对渲染系统共享数据和各模块专属数据又进行了集中同步,减少了数据同步次数,虽然提升了数据同步数量,但现代计算系统一次进行10k和100k的数据同步所需要的时间相差很小,故又进一步提高了渲染系统效率。
本发明提供的装置实施例附图中,单元之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或者多条通信总线或信号线。
本发明还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行上述的利用C++编译器的CPU-GPU数据同步方法。该电子设备可以为包括手机、笔记本电脑、台式电脑、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point ofSales,销售终端)、车载电脑等任意终端设备。
本发明还提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时,实现上述的利用C++编译器的CPU-GPU数据同步方法。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。

Claims (6)

1.一种利用C++编译器的CPU-GPU数据同步方法,其特征在于,包括:
获取需要进行CPU-GPU同步的数据的描述,所述需要进行CPU-GPU同步的数据的描述是用户通过模板标签在特定维度对需要进行CPU-GPU同步的数据进行标注得到的,所述需要进行CPU-GPU同步的数据的描述中记载有数据所属的数据类型、以及不同数据类型对应的存储规则;
调用C++编译器对需要进行CPU-GPU同步的数据的描述进行编译,执行编译结果,计算得到渲染系统共享数据和各模块专属数据在内存中需要的存储空间和存储地址,以及在显存中需要的存储空间和存储地址,以使渲染系统共享数据和各模块专属数据可在内存中连续保存,以及可在显存中连续保存;
将需要进行CPU-GPU同步的数据按渲染系统共享数据和各模块专属数据各自在内存中的存储地址分别加载至共享数据和各模块专属数据各自在内存中的存储空间内;
将渲染系统共享数据和各模块专属数据按各自在显存中的存储地址从内存中同步至共享数据和各模块专属数据各自在显存中的存储空间内。
2.如权利要求1所述的利用C++编译器的CPU-GPU数据同步方法,其特征在于,所述特定维度包括:数据静态/动态更新、数据类型两个维度。
3.一种利用C++编译器的CPU-GPU数据同步装置,其特征在于,包括:
编码单元,其用于获取需要进行CPU-GPU同步的数据的描述,所述需要进行CPU-GPU同步的数据的描述是用户通过模板标签在特定维度对需要进行CPU-GPU同步的数据进行标注得到的,所述需要进行CPU-GPU同步的数据的描述中记载有数据所属的数据类型、以及不同数据类型对应的存储规则;
编译单元,其用于调用C++编译器对需要进行CPU-GPU同步的数据的描述进行编译,执行编译结果,计算得到渲染系统共享数据和各模块专属数据在内存中需要的存储空间和存储地址,以及在显存中需要的存储空间和存储地址,以使渲染系统共享数据和各模块专属数据可在内存中连续保存,以及可在显存中连续保存;
加载单元,其用于将需要进行CPU-GPU同步的数据按渲染系统共享数据和各模块专属数据各自在内存中的存储地址分别加载至共享数据和各模块专属数据各自在内存中的存储空间内;
同步单元,其用于将渲染系统共享数据和各模块专属数据按各自在显存中的存储地址从内存中同步至共享数据和各模块专属数据各自在显存中的存储空间内。
4.如权利要求3所述的利用C++编译器的CPU-GPU数据同步装置,其特征在于,所述特定维度包括:数据静态/动态更新、数据类型两个维度。
5.一种电子设备,其特征在于,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1~2中任一项所述的方法。
6.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现权利要求1~2中任一项所述的方法。
CN202210409838.0A 2022-04-19 2022-04-19 利用c++编译器的cpu-gpu数据同步方法和装置 Active CN114756369B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210409838.0A CN114756369B (zh) 2022-04-19 2022-04-19 利用c++编译器的cpu-gpu数据同步方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210409838.0A CN114756369B (zh) 2022-04-19 2022-04-19 利用c++编译器的cpu-gpu数据同步方法和装置

Publications (2)

Publication Number Publication Date
CN114756369A CN114756369A (zh) 2022-07-15
CN114756369B true CN114756369B (zh) 2022-12-09

Family

ID=82331048

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210409838.0A Active CN114756369B (zh) 2022-04-19 2022-04-19 利用c++编译器的cpu-gpu数据同步方法和装置

Country Status (1)

Country Link
CN (1) CN114756369B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112819678A (zh) * 2019-11-15 2021-05-18 英特尔公司 图形处理单元的数据局部性增强
CN113674133A (zh) * 2021-07-27 2021-11-19 阿里巴巴新加坡控股有限公司 Gpu集群共享显存系统、方法、装置及设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10223822B2 (en) * 2016-12-22 2019-03-05 Apple Inc. Mid-render compute for graphics processing
US11232533B2 (en) * 2019-03-15 2022-01-25 Intel Corporation Memory prefetching in multiple GPU environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112819678A (zh) * 2019-11-15 2021-05-18 英特尔公司 图形处理单元的数据局部性增强
CN113674133A (zh) * 2021-07-27 2021-11-19 阿里巴巴新加坡控股有限公司 Gpu集群共享显存系统、方法、装置及设备

Also Published As

Publication number Publication date
CN114756369A (zh) 2022-07-15

Similar Documents

Publication Publication Date Title
CN106991011B (zh) 基于cpu多线程与gpu多粒度并行及协同优化的方法
US8364739B2 (en) Sparse matrix-vector multiplication on graphics processor units
CN101236661B (zh) 在计算机中管理纹理数据的系统与方法
CN101329638B (zh) 程序代码的并行性的分析方法和系统
US8352924B2 (en) Method and device for multi-core instruction-set simulation
US9495722B2 (en) Developer controlled layout
US9262180B2 (en) Method and apparatus for recommending product features in a software application in real time
US20110153957A1 (en) Sharing virtual memory-based multi-version data between the heterogenous processors of a computer platform
US8839214B2 (en) Indexable type transformations
US9207919B2 (en) System, method, and computer program product for bulk synchronous binary program translation and optimization
US8941669B1 (en) Split push buffer rendering for scalability
Nugteren et al. Skeleton-based automatic parallelization of image processing algorithms for GPUs
US10795606B2 (en) Buffer-based update of state data
US8935475B2 (en) Cache management for memory operations
Desnos et al. Memory Analysis and Optimized Allocation of Dataflow Applications on Shared-Memory MPSoCs: In-Depth Study of a Computer Vision Application
US10152310B2 (en) Fusing a sequence of operations through subdividing
CN116841623A (zh) 访存指令的调度方法、装置、电子设备和存储介质
US20100318758A1 (en) Efficient transfer of matrices for matrix based operations
CN114186527A (zh) 一种不依赖于网格点实现集成电路自动布线的方法及装置
CN114756369B (zh) 利用c++编译器的cpu-gpu数据同步方法和装置
US9275426B2 (en) Method and apparatus for unifying graphics processing unit computation languages
CN109543495B (zh) 一种人脸关键点标注方法、装置、电子设备及存储介质
Quesada-Barriuso et al. Efficient 2D and 3D watershed on graphics processing unit: block-asynchronous approaches based on cellular automata
CN104714792A (zh) 多进程共享数据处理方法和装置
CN112486807A (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