CN114756369B - 利用c++编译器的cpu-gpu数据同步方法和装置 - Google Patents
利用c++编译器的cpu-gpu数据同步方法和装置 Download PDFInfo
- 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
Links
Images
Classifications
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- 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/54—Interprogram communication
- G06F9/544—Buffers; 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数据同步方法和装置。
背景技术
渲染系统通常由若干渲染模块构成,基于业务数据,若干渲染模块分别处理不同类型的渲染任务,渲染模块在处理渲染任务时其数据均源自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中任一项所述的方法。
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)
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)
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 |
-
2022
- 2022-04-19 CN CN202210409838.0A patent/CN114756369B/zh active Active
Patent Citations (2)
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 |