Graphics Processing Units (GPUs) are widely-used accelerators for data-parallel applications. In many GPU applications, GPU memory bandwidth bottlenecks performance, causing underutilization of GPU cores. Hence, disabling many cores does not affect the performance of memory-bound workloads. While simply power-gating unused GPU cores would save energy, prior works attempt to better utilize GPU cores for other applications (ideally compute-bound), which increases the GPU's total throughput. In this paper, we introduce Morpheus, a new hardware/software co-designed technique to boost the performance of memory-bound applications. The key idea of Morpheus is to exploit unused core resources to extend the GPU last level cache (LLC) capacity. In Morpheus, each GPU core has two execution modes: compute mode and cache mode. Cores in compute mode operate conventionally and run application threads. However, for the cores in cache mode, Morpheus invokes a software helper kernel that uses the cores' on-chip memories (i.e., register file, shared memory, and L1) in a way that extends the LLC capacity for a running memory-bound workload. Morpheus adds a controller to the GPU hardware to forward LLC requests to either the conventional LLC (managed by hardware) or the extended LLC (managed by the helper kernel). Our experimental results show that Morpheus improves the performance and energy efficiency of a baseline GPU architecture by an average of 39% and 58%, respectively, across several memory-bound workloads. Morpheus' performance is within 3% of a GPU design that has a quadruple-sized conventional LLC. Morpheus can thus contribute to reducing the hardware dedicated to a conventional LLC by exploiting idle cores' on-chip memory resources as additional cache capacity.


翻译:图形处理单元(GPU)是数据并行应用程序中广泛使用的加速器。在许多GPU应用中,GPU内存带宽会限制性能,导致GPU核心利用不足。因此,禁用许多核心不会影响内存绑定工作负载的性能。尽管简单的下电未使用的GPU核心可以节省能源,但过去的作品尝试更好地利用GPU核心用于其他应用程序(理想情况下是计算有限的),从而增加GPU的总吞吐量。在本文中,我们介绍了Morpheus,一种新的硬件/软件共同设计技术,以提升内存绑定应用程序的性能。 Morpheus的关键思想是利用未使用的核心资源来扩展GPU最后一级缓存(LLC)容量。在Morpheus中,每个GPU核心具有两种执行模式:计算模式和缓存模式。在计算模式下,核心按传统方式运行应用程序线程。但是,对于缓存模式中的核心,Morpheus会调用一个软件辅助内核,以一种方式使用核心的芯片内存(即寄存器文件,共享内存和L1),以扩展正在运行的内存绑定工作负载的LLC容量。 Morpheus在GPU硬件中添加了一个控制器,以将LLC请求转发到传统LLC(由硬件管理)或扩展LLC(由辅助内核管理)。我们的实验结果显示,Morpheus在多个内存绑定工作负载下将基线GPU架构的性能和能源效率分别提高了平均39%和58%。 Morpheus的性能与具有四倍传统LLC大小的GPU设计相差不到3%。因此,Morpheus可以通过利用空闲核心的芯片内存资源作为额外的缓存容量来减少专用于传统LLC的硬件。

0
下载
关闭预览

相关内容

【2022新书】高效深度学习,Efficient Deep Learning Book
专知会员服务
114+阅读 · 2022年4月21日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
75+阅读 · 2020年7月26日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
105+阅读 · 2020年5月3日
M2 芯片上也能跑 Linux 系统了!
CSDN
0+阅读 · 2022年7月19日
GPU 显存不足怎么办?
AINLP
13+阅读 · 2019年8月16日
【泡泡一分钟】在CPU上进行实时无监督单目深度估计
泡泡机器人SLAM
17+阅读 · 2019年5月10日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Arxiv
0+阅读 · 2023年5月24日
Arxiv
74+阅读 · 2022年3月26日
VIP会员
相关基金
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Top
微信扫码咨询专知VIP会员