Mitigating GPU Core Partitioning Performance Effects

Mitigating GPU Core Partitioning Performance Effects
复制标题

DOI:
10.1109/hpca56546.2023.10070957
复制
发表时间:
2023-02
期刊:
2023 IEEE International Symposium on High-Performance Computer Architecture (HPCA)
影响因子:
--
通讯作者:
Aaron Barnes;Fangjia Shen;Timothy G. Rogers
Aaron Barnes;Fangjia Shen;Timothy G. Rogers
中科院分区:
其他
文献类型:
--
作者:
Aaron Barnes;Fangjia Shen;Timothy G. Rogers

文献摘要

相似文献

现代GPU流多处理器(SM)有几个翘曲编译器,执行单元和寄存器文件库。为了减少面积和能耗,最近几代将SM划分为子核。每个子核包含不同的线程束调度器、寄存器文件和执行单元,与同一SM中的子核共享L1存储器和暂存器资源。虽然将SM划分为子核减少了较大SM的面积和能量需求,但它以性能为代价。分配给SM的曲速可以访问SM的一部分资源,从而导致争用和不平衡问题。在本文中,我们研究了SM细分对性能的影响,并提出了新的机制,以减轻负面影响。我们确定了四个正交的细分SM所造成的影响,并证明了这些影响中的两个在实践中的性能有显着的影响。基于这些发现,我们提出了寄存器库感知的翘曲调度,以避免当指令操作数被放置在每个子核可用的有限数量的寄存器堆库中时出现的库冲突,并随机散列子核分配以减轻不平衡问题。我们的智能调度机制导致平均11.2%的加速在不同的应用程序集捕获81%的性能损失SM细分。
Modern GPU Streaming Multiprocessors (SMs) have several warp schedulers, execution units, and register file banks. To reduce area and energy-consumption, recent generations divide SMs into sub-cores. Each sub-core contains a distinct warp scheduler, register file, and execution units, sharing L1 memory and scratchpad resources with sub-cores in the same SM. Although partitioning the SM into sub-cores decreases the area and energy demands of larger SMs, it comes at a performance cost. Warps assigned to the SM have access to a fraction of the SM’s resources, resulting in contention and imbalance issues. In this paper, we examine the effect SM sub-division has on performance and propose novel mechanisms to mitigate the negative impacts. We identify four orthogonal effects caused by sub-dividing SMs and demonstrate that two of these effects have a significant impact on performance in practice. Based on these findings, we propose register-bank-aware warp scheduling to avoid bank conflicts that arise when instruction operands are placed in the limited number of register file banks available to each sub-core, and randomly hashed sub-core assignment to mitigate imbalance issues. Our intelligent scheduling mechanisms result in an average 11.2% speedup across a diverse set of applications capturing 81% of the performance lost to SM sub-division.