[发明专利]一种GPGPU寄存器文件动态扩展方法有效
申请号: | 201810408687.0 | 申请日: | 2018-05-02 |
公开(公告)号: | CN108595258B | 公开(公告)日: | 2021-07-27 |
发明(设计)人: | 白跃彬;禹超;杨海龙;顾育豪;栾广强;王春阳;陈庆斌 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F9/54 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 gpgpu 寄存器 文件 动态 扩展 方法 | ||
本发明公开了一种GPGPU寄存器文件动态扩展方法,包括:1)在编译器中对GPGPU程序指令块进行划分,并分析每个指令块的活动寄存器;2)运行时,依据资源状态对每个线程块的资源分配方式进行决策;3)当寄存器文件限制了GPGPU的线程级并行性时,将部分寄存器分配在共享内存中,从而在逻辑上增大了寄存器文件的容量;4)在每个指令块被调度执行前,通过数据预取将指令块使用的分配在共享内存中的寄存器数据读取到一个高带宽的小容量操作数缓存中。本发明能够有效提高GPGPU片上资源的使用效率,最大限度提升GPGPU的线程级并发性,充分挖掘GPGPU的性能潜力。
技术领域
本发明涉及GPGPU中片上资源优化管理和线程块调度等领域,特别是涉及一种GPGPU寄存器文件动态扩展方法。
背景技术
作为高性能计算中的重要组成部分,通用计算图形处理器(General PurposeGPU,以下简称GPGPU)主要通过其大规模的线程级并行(Thread Level Parallelism,以下简称TLP)来体现其高性能特性。在GPGPU中,指令延迟和内存访问所造成的低效主要通过大规模线程间的快速切换来进行隐藏。在执行一些线程束中高延迟的指令时,GPGPU中的线程束调度器会调度其余的线程束进行执行而避免流水线在高延迟指令上的等待。为了支持GPGPU大规模并发线程的快速切换,GPGPU的每个流多处理器(Streaming Multiprocessor,以下简称SM)中都会配备一个大容量的寄存器文件(Register File,以下简称RF)来存放所有并发线程的上下文信息。因此,为了提高GPGPU的TLP,需要对RF进行高效管理来提高其利用率,使尽可能多的线程能够分配到所需资源并运行。
为了充分利用RF、提高GPGPU的TLP,学术界和产业界开展了大量的工作。已有的具有代表性的研究成果主要分为以下两个方面:
(1)线程束级资源管理粒度
GPGPU默认采用线程块级资源管理粒度,当剩余的资源不足以满足一个线程块的资源需求时,那么将不会再有线程块被调度到SM上运行,剩余的资源也无法被充分利用,这不仅会造成资源碎片,而且还会限制GPGPU的TLP。线程束级的资源管理粒度能够在一定程度上解决资源碎片问题并提高GPGPU的TLP。当剩余的资源不足以满足一个线程块的资源需求,但是能够满足线程块中部分线程束的资源需求时,那么就将能够分配到资源的部分线程束调度到SM上运行。
(2)基于时分复用的RF重用机制
当寄存器被分配给GPGPU线程后,GPGPU线程对每一个寄存器的使用并不是从开始运行一直到运行结束,大部分寄存器的生命周期仅仅局限于GPGPU线程运行过程中的一个或多个时间段。通过分析GPGPU寄存器的生命周期,使不同的线程束能够在不同时间段使用同一个寄存器,而不是使每一个寄存器在其所属的线程运行过程中只能被一个线程使用。通过时分复用寄存器,能够增加每个时刻同时运行的线程数量,从而提高GPGPU的TLP。
综上可以看出,现有方法对RF的优化管理方法都是将RF看成一个独立的资源并仅仅对RF进行独立的优化。本发明从全局的角度提出一种GPGPU寄存器文件动态扩展方法,当由于RF的容量限制不足以调度更多的线程块到SM上运行时,将RF的功能动态扩展到SM上的共享内存(Shared Memory,以下简称SHMEM),使线程块的部分寄存器能够分配到SHMEM,这样不仅能够充分利用RF,还能极大提高SHMEM的利用率。
发明内容
本发明技术解决问题:克服现有技术的不足和缺陷,提供一种GPGPU寄存器文件动态扩展方法,使RF的容量得到动态扩展,在充分利用RF的同时也极大提高SHMEM的利用率。
本发明的技术解决方案,一种GPGPU寄存器文件动态扩展方法,包括如下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810408687.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种云任务调度方法
- 下一篇:一种基于全局管理的内存池管理方法