CN106991011B - 基于cpu多线程与gpu多粒度并行及协同优化的方法 - Google Patents

基于cpu多线程与gpu多粒度并行及协同优化的方法 Download PDF

Info

Publication number
CN106991011B
CN106991011B CN201710204293.9A CN201710204293A CN106991011B CN 106991011 B CN106991011 B CN 106991011B CN 201710204293 A CN201710204293 A CN 201710204293A CN 106991011 B CN106991011 B CN 106991011B
Authority
CN
China
Prior art keywords
data
cpu
gpu
block
memory
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.)
Expired - Fee Related
Application number
CN201710204293.9A
Other languages
English (en)
Other versions
CN106991011A (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.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
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 Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN201710204293.9A priority Critical patent/CN106991011B/zh
Publication of CN106991011A publication Critical patent/CN106991011A/zh
Application granted granted Critical
Publication of CN106991011B publication Critical patent/CN106991011B/zh
Expired - Fee Related 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/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
    • 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/5061Partitioning or combining of resources
    • G06F9/5066Algorithms 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_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线程数}为
Figure GDA0002523791070000031
步骤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线程数}为
Figure GDA0002523791070000061
步骤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 (1)

1.一种针对大数据任务处理的基于CPU多线程与GPU多粒度并行及协同优化的方法,其特征在于,包括
步骤1:程序创建主线程,计算CPU和GPU的单位任务计算时间,记为tcpu、tgpu,并计算GPU加速比rgpu=tcpu/tgpu;然后根据CPU核数p,GPU数q,CPU开辟的线程数k,多线程修正参数α,α>1,总任务量s,计算最佳任务划分{CPU任务数,GPU任务数,CPU线程数}为
Figure FDA0002493224150000011
步骤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:采用流水线技术,使读入数据、预处理、数据处理在时间上重叠起来;
步骤6:CPU采用多核多线程方式执行任务的同时,1个线程负责调度GPU,GPU采用CUDA并行方式处理分配的任务,并将结果传回CPU;包括以下三个约束条件:
约束条件1:在GPU中,每个线程块的每次访存都保证块内线程按线程号tid顺序访问连续的内存单元;对于多个线程块,要按线程块号bid进行访问;
约束条件2:程序的函数局部变量应放入共享存储器中;
约束条件3:常量存储器和纹理存储器则应对经常使用的只读数据进行存储;
步骤7:由CPU根据从GPU传回的结果进行结果汇总。
CN201710204293.9A 2017-03-30 2017-03-30 基于cpu多线程与gpu多粒度并行及协同优化的方法 Expired - Fee Related CN106991011B (zh)

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 CN106991011A (zh) 2017-07-28
CN106991011B true 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)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107608769A (zh) * 2017-09-13 2018-01-19 郑州云海信息技术有限公司 一种数据处理方法及装置
US10860618B2 (en) 2017-09-25 2020-12-08 Splunk Inc. Low-latency streaming analytics
CN109871352A (zh) * 2017-12-01 2019-06-11 北京搜狗科技发展有限公司 一种协同计算方法及装置
CN108108242B (zh) * 2017-12-11 2021-05-18 成都四象联创科技有限公司 基于大数据的存储层智能分发控制方法
CN108037925A (zh) * 2017-12-25 2018-05-15 首都师范大学 程序分析信息并行提取方法及装置
US10997180B2 (en) 2018-01-31 2021-05-04 Splunk Inc. Dynamic query processor for streaming and batch queries
CN108984283A (zh) * 2018-06-25 2018-12-11 复旦大学 一种自适应的动态流水线并行方法
CN109523455A (zh) * 2018-09-30 2019-03-26 平安科技(深圳)有限公司 一种图像数据异步传输方法、装置及计算机可读存储介质
US10936585B1 (en) 2018-10-31 2021-03-02 Splunk Inc. Unified data processing across streaming and indexed data sets
CN111124626A (zh) * 2018-11-01 2020-05-08 北京灵汐科技有限公司 一种众核系统及其数据处理方法和处理装置
TWI734072B (zh) * 2019-01-25 2021-07-21 鴻齡科技股份有限公司 Gpu加速優化方法、裝置及電腦存儲介質
CN110135178A (zh) * 2019-04-11 2019-08-16 贝克链区块链技术有限公司 区块链验证中的零延迟账本访问技术
US11238048B1 (en) 2019-07-16 2022-02-01 Splunk Inc. Guided creation interface for streaming data processing pipelines
CN111443947B (zh) * 2020-03-24 2022-09-27 山东大学 基于众核平台上面向二代测序数据的序列比对方法及系统
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 深轻(上海)科技有限公司 一种寿险精算模型多线程并行计算方法
US20220245156A1 (en) 2021-01-29 2022-08-04 Splunk Inc. Routing data between processing pipelines via a user defined data stream
US11687487B1 (en) * 2021-03-11 2023-06-27 Splunk Inc. Text files updates to an active processing pipeline
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
CN116028418B (zh) * 2023-02-13 2023-06-20 中国人民解放军国防科技大学 基于gpdsp的可扩展多核处理器、加速卡及计算机

Citations (3)

* Cited by examiner, † Cited by third party
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的大规模物体群的碰撞剔除方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
BigKernel — High Performance CPU-GPU Communication Pipelining;Reza Mokhtari et al;《2014 IEEE 28th International Parallel and Distributed Processing Symposium》;20140523;第1-10页 *
PMVS算法的CPU多线程和GPU两级粒度并行策略;刘金硕;《计算机科学》;20170228;第44卷(第2期);第296-301页 *
一种Linux 多线程应用下内存池的设计与实现;许健等;《电子技术应用》;20121130;第38卷(第11期);第146-149页 *
基于GPU/CPU混合架构的流程序多粒度划分与调度方法研究;陈文斌等;《计算机工程与科学》;20170131;第39卷(第1期);第15-26页 *

Also Published As

Publication number Publication date
CN106991011A (zh) 2017-07-28

Similar Documents

Publication Publication Date Title
CN106991011B (zh) 基于cpu多线程与gpu多粒度并行及协同优化的方法
US10067768B2 (en) Execution of divergent threads using a convergence barrier
US10007527B2 (en) Uniform load processing for parallel thread sub-sets
CN110008009B (zh) 在运行时绑定常量以提高资源利用率
US10346212B2 (en) Approach for a configurable phase-based priority scheduler
TWI488118B (zh) 處理系統中動態產生任務的傳訊、排序和執行
US9513886B2 (en) Heap data management for limited local memory(LLM) multi-core processors
CN103761215B (zh) 基于图形处理器的矩阵转置优化方法
US9207919B2 (en) System, method, and computer program product for bulk synchronous binary program translation and optimization
US9626216B2 (en) Graphics processing unit sharing between many applications
US11663767B2 (en) Power efficient attribute handling for tessellation and geometry shaders
US20120092352A1 (en) Method and system for performing event-matching with a graphical processing unit
CN110413776B (zh) 一种基于cpu-gpu协同并行的文本主题模型lda高性能计算方法
US11720496B2 (en) Reconfigurable cache architecture and methods for cache coherency
US8806168B2 (en) Producer-consumer data transfer using piecewise circular queue
US11934867B2 (en) Techniques for divergent thread group execution scheduling
US8935475B2 (en) Cache management for memory operations
TW202109286A (zh) 純函數語言神經網路加速器系統及結構
US9772864B2 (en) Methods of and apparatus for multidimensional indexing in microprocessor systems
US9171525B2 (en) Graphics processing unit with a texture return buffer and a texture queue
US9165396B2 (en) Graphics processing unit with a texture return buffer and a texture queue
US20220366632A1 (en) Accelerated processing via a physically based rendering engine
KR20220142059A (ko) 이미지 기반 딥 러닝 학습의 배칭 연산 가속을 위한 인 메모리 소프트웨어 디코딩 캐시 구조 및 관리 기법
US20130166887A1 (en) Data processing apparatus and data processing method
CN117785480B (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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200724

Termination date: 20210330