基于线程池的GPU任务并行计算模型及其应用研究

来源 :南开大学 | 被引量 : 0次 | 上传用户:xuezhiyong2003
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
GPU(Graph Processing Unit,图形处理单元)以其独有的结构设计,在进行并行和高性能计算时通常都会获得高于多核CPU的计算性能。高并行性、高存储带宽和高计算性特点,使得GPU自上世纪末由Nvidia公司提出以来,在工程计算和科学计算领域都获得了非常广泛的应用。以GPU计算为代表的众核计算也逐渐成为高性能计算领域的一个重要分支,这也推进了GPU硬件及其开发技术的更新换代。  自Nvidia推出第二代Fermi架构以后,GPU硬件开始支持UVA(UnifiedVirtual Address Space,统一虚拟地址空间)和页锁定内存,CPU-GPU系统已经成为了拥有共享存储器的紧耦合非对称多处理器系统。原有的CUDA(ComputeUnified Device Architcture,计算统一设备架构)编程模型将GPU视为完全独立的协处理器,共享存储的新CPU-GPU系统打破了这种思维习惯和设计局限性,对细粒度、不规则的任务并行提供了可能。  CAGTP(CPU Assistant GPU Thread Pool,CPU辅助的GPU线程池)技术是共享内存式GPU程序设计的初步尝试,利用页锁定内存实现了能够支持CPU-GPU高效任务并行。本文在CAGTP的基础上,提出了基于线程池的GPU任务计算模型,该模型通过将分块计算调整成高效的细粒度任务并行,并提供了计算块级别的任务调度器和用户接口,用于在CPU-GPU异构系统上实现任务并行和数据并行的结合。稠密线性代数领域中的矩阵乘、乔列斯基分解,以及机器学习领域中的T近邻和K均值算法被用来评价此模型。实验结果显示,相比于传统的CUDA模型,基于线程池的GPU任务并行模型拥有更高的性能提升和负载均衡,针对细粒度的多任务并行,该模型能够达到接近2.0倍的性能提升。
其他文献
随着多媒体技术和网络技术的迅速发展,各种视频数据信息大量产生。如何有效地利用这些视频资源是一个亟待解决的问题。针对这个问题,视频标注工作通过赋予视频镜头或片段相关语
物联网技术的发展使得互联网时代的“人与人”之间的网络逐渐演变成“物与物”之间的网络,新的变化不仅表现在网络规模的扩大,更表现在上层业务模式的创新上。物联网时代大量
基于全球卫星导航系统(GNSS)的科学问题及新应用拓展研究一直是导航界关注和研究的问题。基于载波相位的姿态测量是GNSS应用的一个重要方向,而单独利用GNSS进行姿态测量输出频
学位
该文以湖北省GSM网为例,运用计算机网络管理原理来分析操作维护中心的结构、功 能及其实现方法.在阐明网络管理的重要概念(管理模型、OSI管理信息库、网络管理协议、、网络管
IEEE802.15.4专门用于支持设备在低功耗无线个人局域网(LoWPAN)中的通信。在设计之初,IEEE802.15.4标准只包括物理层和媒体接入控制层,并不支持和IP网络进行互联,然而LoWPAN
随着互联网行业的蓬勃发展,搜索引擎面对的数据规模和用户查询量都有了极大的增长,这对搜索引擎的性能构成了巨大的挑战。目前,商业引擎普遍采用分布式的架构,由索引服务器集群负
随着微电子技术的发展,专用集成电路(ASIC)技术将在我国未来的航天任务中发挥越来越重要的作用。ASIC技术可显著提高电路功能的集成度,提升电子系统的性能和可靠性,同时降低系统
随着互联网以及Web2.0的迅速发展,应用所处理的用户请求日益增长,给服务提供商的本地数据中心造成了巨大的压力。服务提供商为了应对日益增长的用户请求,需要不断地加大本地
偏振遥感作为一种新型的遥感探测手段,与传统遥感手段相比有其独特的优势,它可以解决传统光辐射强度探测无法解决的一些问题,在大气气溶胶的探测、人工目标识别、海洋探测等方面