针对GPU的高效并行任务执行设计研究

基本信息
批准号:61300005
项目类别:青年科学基金项目
资助金额:23.00
负责人:梁云
学科分类:
依托单位:北京大学
批准年份:2013
结题年份:2016
起止时间:2014-01-01 - 2016-12-31
项目状态: 已结题
项目参与者:罗国杰,孙广宇,徐畅,王鹏,张超,谢小龙
关键词:
计算图形处理器并行任务执行性能缓存竞争调度器
结项摘要

Modern graphics processing units (GPUs) have emerged as widely used performance computing platforms. GPUs have tremendous computing potential for a variety of applications. As more and more general purpose applications are mapped to GPUs and compete for accesses to GPU resources, efficient utilization of the GPU resources is critical to system performance. This opens up the opportunities for efficient concurrent kernel execution - - - multiple kernels execute and share resource simultaneously. In this proposal, we propose a systematic software-hardware solution for efficient concurrent kernel execution. We seek to develop different hardware supported resource sharing mechanism with different design tradeoffs. Then, we will propose a novel runtime software framework. The proposed software framework will allow efficient concurrent kernel execution by allocating the GPU resources based on kernel's needs. In order to achieve this goal, we will feature the software framework with the followings: 1) accurate analytical performance model 2) efficient online kernel scheduler 3) cache-aware design and optimization. In summary, the proposed techniques are complementary to the existing GPUs and useful for the future GPUs. The proposed concurrent kernel execution techniques can improve the overall system performance and energy efficiency.

现代的图形处理器(GPU)已成为广泛使用的高性能计算平台。GPU对多种不同的应用都有着巨大的计算潜力。随着越来越多的通用应用程序被移植到GPU上执行,这也加剧了GPU资源的竞争,因此GPU资源的有效利用是提高系统性能的关键。这也为我们提供了并行任务执行的机会 - - - 多个任务并行执行共享GPU资源。 为了支持高效的并行任务执行, 我们打算提出一个系统的软硬件解决方案。我们首先寻求构建不同的硬件资源共享机制以支持不同的设计权衡。然后,我们提出了一个全新的运行时软件架构。该软件架构允许并行任务执行, 并且会基于任务的不同需要分配GPU资源。我们的软件架构具有以下特点 1)精确的性能分析模型 2)高效的任务调度算法 3)缓存感知的设计和优化。这个项目所提出的技术是对现有的GPU结构的重要补充,并对未来的GPU设计有着重要意义。所提出的并行任务执行技术可以显著的提高系统的整体性能和能源利用效率。

项目摘要

通用图形处理器(GPU)的强大计算能力使其被广泛地应用到各种计算领域中。随着越来越多的应用被移植到GPU上, 多任务并行执行的需求也随之产生。 由于通用应用的不规则性和GPU硬件资源的不断增加,单一应用并不能完全使用GPU的资源,因此多任务并行执行变的愈发重要。多任务执行可以显著地提高GPU资源利用率和提升应用的整体性能。我们研究并提出了一个全新的支持GPU高效并行任务执行的软硬件架构。 ..本项目成功实现了: 1) 支持空间和时间共享的多任务并行架构。我们提出的架构主要包括能够权衡多任务模型参数的准确性能评估模型, 基于leaky-bucket的线程块交叉机制以实现多任务并行执行, 不依赖于硬件的通用软件模拟技术。与Fermi 和Kepler架构的多任务技术相比,我们的技术平均提升性能1.26X。同时,通过细粒度地调整并行应用的线程并行度,性能能够得到进一步的提升。2)GPU缓存优化技术。我们提出一个结合静态分析和动态调整的缓存旁路(cache bypassing) 技术。该技术使用静态软件剖析技术分析指令的局部性,然后在运行时允许部分线程使用缓存,部分线程旁路缓存。与默认的Nvidia缓存管理技术相比,我们的技术平均提升性能1.32X。我们提出缓存锁技术,通过锁住局部性好的数据以降低污染数据对局部性的影响。同时我们也提出快速的缓存状态空间搜索技术。3)GPU寄存器堆优化技术。我们提出了一种寄存器分配和线程并行度的协同优化技术。该优化技术通过寄存器分配权衡单个线程的性能和线程的并行度。我们的技术平均提升性能1.25X。我们的寄存器分配算法已经开源,目前已经有CMU, Michigan等学校下载使用了我们的开源工具。4)GPU分支预测和优化技术。我们提出一种能够准确预测线程分支对性能影响的模型,并使用该模型指引线程重组优化。性能模型使用BBV (Basic Block Vector, 基本块执行向量) 来刻画线程的行为的相似和不同程度。我们提出的性能模型错误率为6.2%, 线程重组优化平均提升性能2.2X。

项目成果
{{index+1}}

{{i.achievement_title}}

{{i.achievement_title}}

DOI:{{i.doi}}
发表时间:{{i.publish_year}}

暂无此项成果

数据更新时间:2023-05-31

其他相关文献

1

路基土水分传感器室内标定方法与影响因素分析

路基土水分传感器室内标定方法与影响因素分析

DOI:10.14188/j.1671-8844.2019-03-007
发表时间:2019
2

正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究

正交异性钢桥面板纵肋-面板疲劳开裂的CFRP加固研究

DOI:10.19713/j.cnki.43-1423/u.t20201185
发表时间:2021
3

特斯拉涡轮机运行性能研究综述

特斯拉涡轮机运行性能研究综述

DOI:10.16507/j.issn.1006-6055.2021.09.006
发表时间:2021
4

栓接U肋钢箱梁考虑对接偏差的疲劳性能及改进方法研究

栓接U肋钢箱梁考虑对接偏差的疲劳性能及改进方法研究

DOI:10.3969/j.issn.1002-0268.2020.03.007
发表时间:2020
5

氯盐环境下钢筋混凝土梁的黏结试验研究

氯盐环境下钢筋混凝土梁的黏结试验研究

DOI:10.3969/j.issn.1001-8360.2019.08.011
发表时间:2019

梁云的其他基金

批准号:21072054
批准年份:2010
资助金额:34.00
项目类别:面上项目
批准号:61202293
批准年份:2012
资助金额:25.00
项目类别:青年科学基金项目
批准号:61772209
批准年份:2017
资助金额:61.00
项目类别:面上项目
批准号:21572051
批准年份:2015
资助金额:65.00
项目类别:面上项目
批准号:61672048
批准年份:2016
资助金额:63.00
项目类别:面上项目

相似国自然基金

1

基于GPU的并行排序算法设计与优化

批准号:61073008
批准年份:2010
负责人:都志辉
学科分类:F0204
资助金额:36.00
项目类别:面上项目
2

基于内存计算的遥感数据高效并行和任务调度研究

批准号:61562086
批准年份:2015
负责人:钱育蓉
学科分类:F0207
资助金额:39.00
项目类别:地区科学基金项目
3

基于变复杂度和GPU并行的高效多响应稳健优化算法研究

批准号:11202072
批准年份:2012
负责人:孙光永
学科分类:A0806
资助金额:26.00
项目类别:青年科学基金项目
4

大型复杂天然气管网水/热力双层分治高效GPU并行模拟方法研究

批准号:51806018
批准年份:2018
负责人:王鹏
学科分类:E0603
资助金额:27.00
项目类别:青年科学基金项目