CN106991011A - 一种针对大数据任务处理的基于cpu多线程与gpu多粒度并行及协同优化的方法 - Google Patents
一种针对大数据任务处理的基于cpu多线程与gpu多粒度并行及协同优化的方法 Download PDFInfo
- Publication number
- CN106991011A CN106991011A CN201710204293.9A CN201710204293A CN106991011A CN 106991011 A CN106991011 A CN 106991011A CN 201710204293 A CN201710204293 A CN 201710204293A CN 106991011 A CN106991011 A CN 106991011A
- Authority
- CN
- China
- Prior art keywords
- data
- cpu
- gpu
- task
- block
- 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
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/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种针对大数据任务处理的基于CPU多线程与GPU多粒度并行及协同优化的方法,首先创建主线程,根据已知参数计算CPU_GPU最佳任务划分。启动n个线程,其中1个负责调度GPU,其余负责执行CPU计算任务。然后采用内存池技术降低数据从磁盘读入内存的通信开销;采用哈希表和信息摘要解决多线程访存中资源竞争的问题;采用流水线技术隐藏数据从内存读入CPU的通信时间。在主机端,CPU采用多核多线程方式执行分配到的任务;在设备端,GPU采用CUDA并行方式执行分配到的任务。全部任务完成后,主线程收回控制权直至退出。本发明可以在大数据任务处理中取得明显的加速效果,降低任务总的处理时间,提高处理效率。
Description
技术领域
本发明涉及计算机学科中的CPU_GPU多粒度并行、负载均衡、存储与通信优化、CPU多线程和大数据处理等,尤其是一种大数据任务处理的基于CPU多线程与GPU多粒度并行及协同优化的方法。
背景技术
在进行大数据任务处理时,由于大规模的密集型数据、处理时间长,有必要对大数据任务处理进行加速优化。近年来,随着硬件的发展,在计算机架构中,多核/众核处理器已成为提高计算速度的主要方式。
自NVIDIA公司在1999年发布GeForce 256图形处理芯片提出GPU的概念以来,GPU因其强大的计算能力、灵活的编程能力和低功耗的特点,成为当前高性能计算系统中加速部件的主要选择之一,被广泛应用于计算密集型程序。在众多高性能计算平台中,多核CPU与众核GPU组合形成的异构计算系统具有很大的发展潜力。现有的CPU_GPU异构平台主要采用主-从方式运行,即CPU作为主机端,负责执行控制逻辑和事务处理等串行计算;而GPU作为协处理器或设备端,负责执行计算密度高、逻辑分支简单的大规模数据并行计算。
由于CPU和GPU执行特性的差异,某些任务可能在CPU上执行得快但在GPU上执行得慢,而另外一些任务可能在GPU上执行得快但在CPU上执行得慢,所以合理的任务划分策略和实现负载均衡显得尤为重要。
CPU与GPU之间通过PCI-E总线连接,GPU仍然作为计算节点的外部设备,CPU和GPU之间的数据传输必须在CPU的控制下显式地进行。CPU和GPU之间的数据传输以及计算模块与存储模块的通信开销是制约性能的瓶颈,所以有必要对通信开销进行优化以提高CPU多线程与GPU协同工作的效率。
针对大数据任务处理,由于待处理的任务数据量庞大,在CPU端对内存中大块数据的访问会消耗执行的时间,因此有必要采取相应的策略来优化主存储;而在GPU端,存储器的带宽利用率是制约GPU并行程序性能的重要因素,因此有必要进行GPU存储器访问优化。
发明内容
本发明主要是解决现有技术所存在的技术问题;提供了一种从任务划分和负载均衡、通信开销、主存储优化、GPU访存优化四个方面来实现CPU_GPU多粒度并行及协同优化,明显地缩短了大数据任务处理的执行时间的针对大数据任务处理的基于CPU多线程与GPU多粒度并行及协同优化的方法。
本发明的上述技术问题主要是通过下述技术方案得以解决的:
本发明基于以下定义:
任务划分及负载均衡:根据获取的任务,假设CPU和GPU的单位任务计算时间,同时考虑CPU多线程的开销,计算CPU和GPU间的最优任务划分并实现负载均衡。
通信开销优化:采用内存池技术减少数据从磁盘读入内存的通信时间,采用流水线技术隐藏CPU从内存读入数据的时间,以实现通信开销的优化。
GPU访存优化:合理的全局存储器的合并访问策略以及合理的共享存储器、常量存储器、纹理存储器使用策略可以提高GPU访存效率。
主存储优化:利用哈希表来标识每个数据块在内存中的位置以降低查找数据块的时间复杂度,利用更新数据块信息摘要的方式以避免多线程同时访问同一数据块造成资源冲突。
一种针对大数据任务处理的基于CPU多线程与GPU多粒度并行及协同优化的方法,其特征在于,包括
步骤1:程序创建主线程,计算CPU和GPU的单位任务计算时间,记为tcpu、tgpu,并计算GPU加速比rgpu=tcpu/tgpu;然后根据CPU核数p,GPU数q,CPU开辟的线程数k,多线程修正参数α(α>1),总任务量s,计算最佳任务划分{CPU任务数,GPU任务数,CPU线程数}为
步骤2:CPU启动n个线程,按步骤1计算的最佳任务划分方案为CPU和GPU分配相应数量的任务,其中需要设置1个线程负责调度GPU,其余n-1个线程负责执行CPU任务。
步骤3:采用内存池技术,在内存中划分特定的分区,采用一定的调度策略将数据从磁盘存入内存池当中,CPU定期从内存的数据存放区中获取数据,具体包括:
步骤3.1:每个任务称为一个大块数据,在内存池中划分出n个内存区域。大块数据的总数超过n,开始阶段,每个大块数据被分为若干个大小固定的小块数据。
步骤3.2:硬盘与内存池之间初始化n个通道,文件访问程序从硬盘中预读入部分数据块加入内存池,小块数据在内存池中进行缓存。
步骤3.3:在内存池中,每个通道接口会设置一个标记为Pi,每个大块数据会设置一个计数器。当小块数据加入内存池时,计数器数目会加1,计数器计数达到大块数据的大小的时候,数据块会被转入数据存放区,等待处理程序获取。
步骤3.4:Pi标记为可覆盖,计数器被置0,内存池中的通道接口接收新的数据块存放。
步骤4:CPU从内存中读入数据时,采用哈希表和信息摘要标识每一个小块数据对象,具体包括以下定义:
定义一:大块数据的信息摘要内容包括名称、类型、大小和MD5校验码。分割大块数据之后,生成每个小块数据的分块信息,并将小块数据的其他信息一同写到信息摘要当中。
定义二:小块数据对象的信息包含对象大小、哈希表中的键和下一个分块主键。
定义三:哈希表中保存了分块数据的主键,值为数据在内存中的地址信息,在数据块加载到内存的过程中,根据数据块名称,访问数据块信息摘要,获得数据块的主键获得数据块地址并定位到数据块。
定义四:当线程读取数据块的时候,对数据块加读锁,当读取完成之后,需要更新小块数据中的摘要信息,标记为已读;当其他线程访问该数据时,如果检查到标记为1,则访问下一块数据。
步骤5:采用流水线技术,使读入数据、预处理、数据处理在时间上重叠起来,附图4为流水线模式示意图。
步骤6:CPU采用多核多线程方式执行任务的同时,1个线程负责调度GPU,GPU采用CUDA并行方式处理分配的任务,并将结果传回CPU。
步骤7:由CPU根据从GPU传回的结果进行结果汇总。
在上述的一种针对大数据任务处理的基于CPU多线程与GPU多粒度并行及协同优化的方法,所述的步骤6包括以下三个约束条件:
约束条件1:在GPU中,每个线程块的每次访存都保证块内线程按线程号tid顺序访问连续的内存单元;对于多个线程块,要按线程块号bid进行访问。
约束条件2:程序的函数局部变量应放入共享存储器中。
约束条件3:常量存储器和纹理存储器则应对经常使用的只读数据进行存储。
因此,本发明具有如下优点:本发明从任务划分和负载均衡、通信开销、主存储优化、GPU访存优化四个方面实现了CPU_GPU多粒度并行及协同优化。本发明可以实现CPU和GPU间的最优任务划分;减少CPU和GPU间的通信时间;提高存储带宽,提高GPU访存效率;减少资源冲突;可以明显地缩短大数据任务处理的执行时间。
附图说明
图1是本发明中的CPU多线程与GPU的多粒度并行流程图。
图2是本发明中的CPU多线程与GPU的多粒度协同并行的优化策略示意图。
图3是本发明中的内存池模型。
图4是本发明中的流水线模式示意图。
图5是本发明中以大块数据“picture.jpg”为例的信息摘要内容示意图。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实施例:
一、首先介绍本发明的方法流程,具体包括:
步骤1:程序创建主线程,计算CPU和GPU的单位任务计算时间,记为tcpu、tgpu,并计算GPU加速比rgpu=tcpu/tgpu;然后根据CPU核数p,GPU数q,CPU开辟的线程数k,多线程修正参数α(α>1),总任务量s,计算最佳任务划分{CPU任务数,GPU任务数,CPU线程数}为
步骤2:CPU启动n个线程,按步骤1计算的最佳任务划分方案为CPU和GPU分配相应数量的任务,其中需要设置1个线程负责调度GPU,其余n-1个线程负责执行CPU任务。
步骤3:采用内存池技术,在内存中划分特定的分区,采用一定的调度策略将数据从磁盘存入内存池当中,CPU定期从内存的数据存放区中获取数据,具体包括:
步骤3.1:每个任务称为一个大块数据,在内存池中划分出n个内存区域。大块数据的总数超过n,开始阶段,每个大块数据被分为若干个大小固定的小块数据。
步骤3.2:硬盘与内存池之间初始化n个通道,文件访问程序从硬盘中预读入部分数据块加入内存池,小块数据在内存池中进行缓存。
步骤3.3:在内存池中,每个通道接口会设置一个标记为Pi,每个大块数据会设置一个计数器。当小块数据加入内存池时,计数器数目会加1,计数器计数达到大块数据的大小的时候,数据块会被转入数据存放区,等待处理程序获取。
步骤3.4:Pi标记为可覆盖,计数器被置0,内存池中的通道接口接收新的数据块存放。
步骤4:CPU从内存中读入数据时,采用哈希表和信息摘要标识每一个小块数据对象,具体包括以下定义:
定义一:大块数据的信息摘要内容包括名称、类型、大小和MD5校验码。分割大块数据之后,生成每个小块数据的分块信息,并将小块数据的其他信息一同写到信息摘要当中。
定义二:小块数据对象的信息包含对象大小、哈希表中的键和下一个分块主键。
定义三:哈希表中保存了分块数据的主键,值为数据在内存中的地址信息,在数据块加载到内存的过程中,根据数据块名称,访问数据块信息摘要,获得数据块的主键获得数据块地址并定位到数据块。
定义四:当线程读取数据块的时候,对数据块加读锁,当读取完成之后,需要更新小块数据中的摘要信息,标记为已读;当其他线程访问该数据时,如果检查到标记为1,则访问下一块数据。
步骤5:采用流水线技术,使读入数据、预处理、数据处理在时间上重叠起来,附图4为流水线模式示意图。
步骤6:CPU采用多核多线程方式执行任务的同时,1个线程负责调度GPU,GPU采用CUDA并行方式处理分配的任务,并将结果传回CPU。本步骤包括以下三个约束条件:
约束条件1:在GPU中,每个线程块的每次访存都保证块内线程按线程号tid顺序访问连续的内存单元;对于多个线程块,要按线程块号bid进行访问。
约束条件2:程序的函数局部变量应放入共享存储器中。
约束条件3:常量存储器和纹理存储器则应对经常使用的只读数据进行存储。
步骤7:由CPU根据从GPU传回的结果进行结果汇总。
二、下面是采用本发明方法的具体一个案例。
本发明的方法是为了解决大数据任务处理过程中计算时间长、设备利用率低的问题,为了方便阐述,现在以Patch-based multi-view stereo(PMVS)算法中的特征提取为例,以下环境作为测试平台为例来说明:Intel Core i5-3470@3.2GHz,内存为4GB,显卡为NVIDIA TESLA C2075,显存6GB。在该平台下,对36幅同一场景的序列影像在不同分辨率下(以320*240和640*480为例)测试特征提取时间。
图1是本发明中的CPU多线程与GPU多粒度并行的流程图,本发明采用pthreads跨平台线程库来实现CPU多线程。
首先由程序创建主线程;根据步骤1,α取1.15,已知p=4,q为NVIDIA TESLA C2075的核心数量,先计算CPU和GPU处理一幅图像的时间tcpu和tgpu,根据计算的结果和步骤1的公式,得出分辨率为320*240时的任务划分应为{6,30,3},分辨率为640*480时的任务划分应为{4,32,3};CPU启动3个线程处理任务,1个线程负责调度GPU。将任务按任务划分的结果分配到CPU和GPU;
关于CPU多线程与GPU的多粒度协同并行的优化策略,图2为其示意图。
关于通信开销优化,图3是本发明中步骤3所涉及的内存池模型,图4是本发明中步骤5所涉及的流水线模式示意图。采用内存池技术可以减少数据从磁盘读入内存的通信时间,采用流水线技术可以隐藏CPU从内存读入数据的时间,以实现通信开销的优化。
关于主存储优化,图5是以大块影像数据“picture.jpg”为例的信息摘要内容示意图。利用哈希表来标识每个数据块在内存中的位置,可以降低查找数据块的时间复杂度,利用更新数据块信息摘要的方式以避免多线程同时访问同一数据块造成资源冲突。
关于GPU访存优化,CPU将影像上传至GPU全局存储器,假设数据总量为M,线程块数为N,线程块号为bid,则该线程块访存的起始偏移量为(M/N)*bid,可以实现全局存储器的合并访问。在CPU进行影像预处理时,可以把获得的参数存放在GPU常量存储器和纹理存储器中,以实现GPU的快速访问。
最后得到PVMS算法下,CPU多线程与GPU的多粒度并行的特征提取时间,与只有CPU参与运算的情况进行对比,发现采用本发明可以实现12倍(320*240)和18倍(640*480)的加速比。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (2)
1.一种针对大数据任务处理的基于CPU多线程与GPU多粒度并行及协同优化的方法,其特征在于,包括
步骤1:程序创建主线程,计算CPU和GPU的单位任务计算时间,记为tcpu、tgpu,并计算GPU加速比rgpu=tcpu/tgpu;然后根据CPU核数p,GPU数q,CPU开辟的线程数k,多线程修正参数α(α>1),总任务量s,计算最佳任务划分{CPU任务数,GPU任务数,CPU线程数}为
步骤2:CPU启动n个线程,按步骤1计算的最佳任务划分方案为CPU和GPU分配相应数量的任务,其中需要设置1个线程负责调度GPU,其余n-1个线程负责执行CPU任务;
步骤3:采用内存池技术,在内存中划分特定的分区,采用一定的调度策略将数据从磁盘存入内存池当中,CPU定期从内存的数据存放区中获取数据,具体包括:
步骤3.1:每个任务称为一个大块数据,在内存池中划分出n个内存区域;大块数据的总数超过n,开始阶段,每个大块数据被分为若干个大小固定的小块数据;
步骤3.2:硬盘与内存池之间初始化n个通道,文件访问程序从硬盘中预读入部分数据块加入内存池,小块数据在内存池中进行缓存;
步骤3.3:在内存池中,每个通道接口会设置一个标记为Pi,每个大块数据会设置一个计数器;当小块数据加入内存池时,计数器数目会加1,计数器计数达到大块数据的大小的时候,数据块会被转入数据存放区,等待处理程序获取;
步骤3.4:Pi标记为可覆盖,计数器被置0,内存池中的通道接口接收新的数据块存放;
步骤4:CPU从内存中读入数据时,采用哈希表和信息摘要标识每一个小块数据对象,具体包括以下定义:
定义一:大块数据的信息摘要内容包括名称、类型、大小和MD5校验码;分割大块数据之后,生成每个小块数据的分块信息,并将小块数据的其他信息一同写到信息摘要当中;
定义二:小块数据对象的信息包含对象大小、哈希表中的键和下一个分块主键;
定义三:哈希表中保存了分块数据的主键,值为数据在内存中的地址信息,在数据块加载到内存的过程中,根据数据块名称,访问数据块信息摘要,获得数据块的主键获得数据块地址并定位到数据块;
定义四:当线程读取数据块的时候,对数据块加读锁,当读取完成之后,需要更新小块数据中的摘要信息,标记为已读;当其他线程访问该数据时,如果检查到标记为1,则访问下一块数据;
步骤5:采用流水线技术,使读入数据、预处理、数据处理在时间上重叠起来,附图4为流水线模式示意图;
步骤6:CPU采用多核多线程方式执行任务的同时,1个线程负责调度GPU,GPU采用CUDA并行方式处理分配的任务,并将结果传回CPU;
步骤7:由CPU根据从GPU传回的结果进行结果汇总。
2.根据权利要求1所述的一种针对大数据任务处理的基于CPU多线程与GPU多粒度并行及协同优化的方法,其特征在于,所述的步骤6包括以下三个约束条件:
约束条件1:在GPU中,每个线程块的每次访存都保证块内线程按线程号tid顺序访问连续的内存单元;对于多个线程块,要按线程块号bid进行访问;
约束条件2:程序的函数局部变量应放入共享存储器中;
约束条件3:常量存储器和纹理存储器则应对经常使用的只读数据进行存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710204293.9A CN106991011B (zh) | 2017-03-30 | 2017-03-30 | 基于cpu多线程与gpu多粒度并行及协同优化的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710204293.9A CN106991011B (zh) | 2017-03-30 | 2017-03-30 | 基于cpu多线程与gpu多粒度并行及协同优化的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106991011A true CN106991011A (zh) | 2017-07-28 |
CN106991011B CN106991011B (zh) | 2020-07-24 |
Family
ID=59412043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710204293.9A Expired - Fee Related CN106991011B (zh) | 2017-03-30 | 2017-03-30 | 基于cpu多线程与gpu多粒度并行及协同优化的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106991011B (zh) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608769A (zh) * | 2017-09-13 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种数据处理方法及装置 |
CN108037925A (zh) * | 2017-12-25 | 2018-05-15 | 首都师范大学 | 程序分析信息并行提取方法及装置 |
CN108108242A (zh) * | 2017-12-11 | 2018-06-01 | 成都博睿德科技有限公司 | 基于大数据的存储层智能分发控制方法 |
CN108984283A (zh) * | 2018-06-25 | 2018-12-11 | 复旦大学 | 一种自适应的动态流水线并行方法 |
CN109523455A (zh) * | 2018-09-30 | 2019-03-26 | 平安科技(深圳)有限公司 | 一种图像数据异步传输方法、装置及计算机可读存储介质 |
CN109871352A (zh) * | 2017-12-01 | 2019-06-11 | 北京搜狗科技发展有限公司 | 一种协同计算方法及装置 |
CN110135178A (zh) * | 2019-04-11 | 2019-08-16 | 贝克链区块链技术有限公司 | 区块链验证中的零延迟账本访问技术 |
WO2020088370A1 (zh) * | 2018-11-01 | 2020-05-07 | 北京灵汐科技有限公司 | 一种众核系统及其数据处理方法和处理装置 |
CN111443947A (zh) * | 2020-03-24 | 2020-07-24 | 山东大学 | 基于众核平台上面向二代测序数据的序列比对方法及系统 |
CN112734583A (zh) * | 2021-01-15 | 2021-04-30 | 深轻(上海)科技有限公司 | 一种寿险精算模型多线程并行计算方法 |
TWI734072B (zh) * | 2019-01-25 | 2021-07-21 | 鴻齡科技股份有限公司 | Gpu加速優化方法、裝置及電腦存儲介質 |
CN113238711A (zh) * | 2021-04-17 | 2021-08-10 | 西安电子科技大学 | 一种电子数据取证领域中高效的哈希计算方法 |
CN113448706A (zh) * | 2021-06-29 | 2021-09-28 | 中国工商银行股份有限公司 | 批量任务处理方法、装置及系统 |
US11615084B1 (en) | 2018-10-31 | 2023-03-28 | Splunk Inc. | Unified data processing across streaming and indexed data sets |
US11614923B2 (en) | 2020-04-30 | 2023-03-28 | Splunk Inc. | Dual textual/graphical programming interfaces for streaming data processing pipelines |
US11636116B2 (en) | 2021-01-29 | 2023-04-25 | Splunk Inc. | User interface for customizing data streams |
CN116028418A (zh) * | 2023-02-13 | 2023-04-28 | 中国人民解放军国防科技大学 | 基于gpdsp的可扩展多核处理器、加速卡及计算机 |
US11645286B2 (en) | 2018-01-31 | 2023-05-09 | Splunk Inc. | Dynamic data processor for streaming and batch queries |
US11663219B1 (en) | 2021-04-23 | 2023-05-30 | Splunk Inc. | Determining a set of parameter values for a processing pipeline |
US11687487B1 (en) * | 2021-03-11 | 2023-06-27 | Splunk Inc. | Text files updates to an active processing pipeline |
US11727039B2 (en) | 2017-09-25 | 2023-08-15 | Splunk Inc. | Low-latency streaming analytics |
US11886440B1 (en) | 2019-07-16 | 2024-01-30 | Splunk Inc. | Guided creation interface for streaming data processing pipelines |
US11989592B1 (en) | 2021-07-30 | 2024-05-21 | Splunk Inc. | Workload coordinator for providing state credentials to processing tasks of a data processing pipeline |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617085A (zh) * | 2013-11-19 | 2014-03-05 | 浪潮电子信息产业股份有限公司 | 一种cpu+gpu协同计算并行框架 |
CN103902387A (zh) * | 2014-04-29 | 2014-07-02 | 浪潮电子信息产业股份有限公司 | 一种cpu+gpu协同并行计算动态负载均衡方法 |
CN104408685A (zh) * | 2014-11-28 | 2015-03-11 | 华南理工大学 | 一种混合cpu和gpu的大规模物体群的碰撞剔除方法 |
-
2017
- 2017-03-30 CN CN201710204293.9A patent/CN106991011B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617085A (zh) * | 2013-11-19 | 2014-03-05 | 浪潮电子信息产业股份有限公司 | 一种cpu+gpu协同计算并行框架 |
CN103902387A (zh) * | 2014-04-29 | 2014-07-02 | 浪潮电子信息产业股份有限公司 | 一种cpu+gpu协同并行计算动态负载均衡方法 |
CN104408685A (zh) * | 2014-11-28 | 2015-03-11 | 华南理工大学 | 一种混合cpu和gpu的大规模物体群的碰撞剔除方法 |
Non-Patent Citations (4)
Title |
---|
REZA MOKHTARI ET AL: "BigKernel — High Performance CPU-GPU Communication Pipelining", 《2014 IEEE 28TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM》 * |
刘金硕: "PMVS算法的CPU多线程和GPU两级粒度并行策略", 《计算机科学》 * |
许健等: "一种Linux 多线程应用下内存池的设计与实现", 《电子技术应用》 * |
陈文斌等: "基于GPU/CPU混合架构的流程序多粒度划分与调度方法研究", 《计算机工程与科学》 * |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608769A (zh) * | 2017-09-13 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种数据处理方法及装置 |
US11727039B2 (en) | 2017-09-25 | 2023-08-15 | Splunk Inc. | Low-latency streaming analytics |
CN109871352A (zh) * | 2017-12-01 | 2019-06-11 | 北京搜狗科技发展有限公司 | 一种协同计算方法及装置 |
CN108108242A (zh) * | 2017-12-11 | 2018-06-01 | 成都博睿德科技有限公司 | 基于大数据的存储层智能分发控制方法 |
CN108108242B (zh) * | 2017-12-11 | 2021-05-18 | 成都四象联创科技有限公司 | 基于大数据的存储层智能分发控制方法 |
CN108037925A (zh) * | 2017-12-25 | 2018-05-15 | 首都师范大学 | 程序分析信息并行提取方法及装置 |
US11645286B2 (en) | 2018-01-31 | 2023-05-09 | Splunk Inc. | Dynamic data processor for streaming and batch queries |
CN108984283A (zh) * | 2018-06-25 | 2018-12-11 | 复旦大学 | 一种自适应的动态流水线并行方法 |
CN109523455A (zh) * | 2018-09-30 | 2019-03-26 | 平安科技(深圳)有限公司 | 一种图像数据异步传输方法、装置及计算机可读存储介质 |
US12013852B1 (en) | 2018-10-31 | 2024-06-18 | Splunk Inc. | Unified data processing across streaming and indexed data sets |
US11615084B1 (en) | 2018-10-31 | 2023-03-28 | Splunk Inc. | Unified data processing across streaming and indexed data sets |
WO2020088370A1 (zh) * | 2018-11-01 | 2020-05-07 | 北京灵汐科技有限公司 | 一种众核系统及其数据处理方法和处理装置 |
TWI734072B (zh) * | 2019-01-25 | 2021-07-21 | 鴻齡科技股份有限公司 | Gpu加速優化方法、裝置及電腦存儲介質 |
CN110135178A (zh) * | 2019-04-11 | 2019-08-16 | 贝克链区块链技术有限公司 | 区块链验证中的零延迟账本访问技术 |
US11886440B1 (en) | 2019-07-16 | 2024-01-30 | Splunk Inc. | Guided creation interface for streaming data processing pipelines |
CN111443947A (zh) * | 2020-03-24 | 2020-07-24 | 山东大学 | 基于众核平台上面向二代测序数据的序列比对方法及系统 |
US11614923B2 (en) | 2020-04-30 | 2023-03-28 | Splunk Inc. | Dual textual/graphical programming interfaces for streaming data processing pipelines |
CN112734583A (zh) * | 2021-01-15 | 2021-04-30 | 深轻(上海)科技有限公司 | 一种寿险精算模型多线程并行计算方法 |
US11636116B2 (en) | 2021-01-29 | 2023-04-25 | Splunk Inc. | User interface for customizing data streams |
US11650995B2 (en) | 2021-01-29 | 2023-05-16 | Splunk Inc. | User defined data stream for routing data to a data destination based on a data route |
US11687487B1 (en) * | 2021-03-11 | 2023-06-27 | Splunk Inc. | Text files updates to an active processing pipeline |
CN113238711A (zh) * | 2021-04-17 | 2021-08-10 | 西安电子科技大学 | 一种电子数据取证领域中高效的哈希计算方法 |
CN113238711B (zh) * | 2021-04-17 | 2024-02-02 | 西安电子科技大学 | 一种电子数据取证领域中高效的哈希计算方法 |
US11663219B1 (en) | 2021-04-23 | 2023-05-30 | Splunk Inc. | Determining a set of parameter values for a processing pipeline |
CN113448706A (zh) * | 2021-06-29 | 2021-09-28 | 中国工商银行股份有限公司 | 批量任务处理方法、装置及系统 |
US11989592B1 (en) | 2021-07-30 | 2024-05-21 | Splunk Inc. | Workload coordinator for providing state credentials to processing tasks of a data processing pipeline |
CN116028418A (zh) * | 2023-02-13 | 2023-04-28 | 中国人民解放军国防科技大学 | 基于gpdsp的可扩展多核处理器、加速卡及计算机 |
Also Published As
Publication number | Publication date |
---|---|
CN106991011B (zh) | 2020-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106991011A (zh) | 一种针对大数据任务处理的基于cpu多线程与gpu多粒度并行及协同优化的方法 | |
WO2021057746A1 (zh) | 神经网络处理方法、装置、计算机设备及存储介质 | |
CN106095588B (zh) | 基于gpgpu平台的cdvs提取过程加速方法 | |
CN105022670B (zh) | 一种云计算平台中的异构分布式任务处理系统及其处理方法 | |
CN102902512B (zh) | 一种基于多线程编程及消息队列的多线程并行处理方法 | |
CN105468439B (zh) | 在cpu-gpu异构框架下遍历固定半径内邻居的自适应并行方法 | |
Bai et al. | Efficient data loader for fast sampling-based GNN training on large graphs | |
Wang et al. | Towards memory-efficient allocation of CNNs on processing-in-memory architecture | |
CN110032450B (zh) | 一种基于固态盘扩展内存的大规模深度学习方法及系统 | |
Beaumont et al. | Optimal GPU-CPU offloading strategies for deep neural network training | |
Cui et al. | Real-time stereo vision implementation on Nvidia Jetson TX2 | |
CN106484532B (zh) | 面向sph流体模拟的gpgpu并行计算方法 | |
CN110413776A (zh) | 一种基于cpu-gpu协同并行的文本主题模型lda高性能计算方法 | |
Ye et al. | Hippie: A data-paralleled pipeline approach to improve memory-efficiency and scalability for large dnn training | |
CN107943592A (zh) | 一种面向gpu集群环境的避免gpu资源争用的方法 | |
US11467836B2 (en) | Executing cross-core copy instructions in an accelerator to temporarily store an operand that cannot be accommodated by on-chip memory of a primary core into a secondary core | |
CN102222018A (zh) | 基于Pthreads的小波和小波包多核并行计算方法 | |
CN116680063B (zh) | 任务调度方法、装置、计算系统、电子设备和存储介质 | |
Huang et al. | Accelerating video captioning on heterogeneous system architectures | |
Appelhans et al. | Leveraging NVLINK and asynchronous data transfer to scale beyond the memory capacity of GPUs | |
Wang et al. | CNN-DMA: a predictable and scalable direct memory access engine for convolutional neural network with sliding-window filtering | |
Wei et al. | Efficient non-fused winograd on gpus | |
Hu et al. | Mimir+: An optimized framework of MapReduce on heterogeneous high-performance computing system | |
Du et al. | Enhancing Distributed In-Situ CNN Inference in the Internet of Things | |
Niu et al. | Accelerating Recommendation Inference via GPU Streams |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200724 Termination date: 20210330 |
|
CF01 | Termination of patent right due to non-payment of annual fee |