paperbot · PL 论文追踪

全部论文 待读 收藏

P2 CORF

CORF:编译器辅助的合并操作数寄存器文件
ASPLOS Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems2019匹配度 1/10 · 论文聚焦 GPU 寄存器文件的编译器辅助合并读取与体系结构优化,属于底层编译/硬件协同设计,与用户关注的静态分析、LLM/Agent、浮点程序分析或贝叶斯程序分析几乎没有交集。引用 26 inbox
Hodjat Asghari Esfeden, Farzad Khorasani, Hyeran Jeon, Daniel Wong, Nael Abu-Ghazaleh
crossref: 2026-09-12

AI 速览

一句话:提出编译器辅助的 GPU 寄存器文件合并读取设计,降低能耗并提升 IPC。

GPU 寄存器文件需维护大量线程状态,频繁访问与端口竞争会显著影响性能与动态能耗。本文提出 CORF,一种编译器辅助的合并操作数寄存器文件:利用编译器提示识别常被一起访问的寄存器对,通过寄存器打包将窄位宽操作数放入同一物理寄存器,从而把单条指令所需的多个寄存器读合并为一次物理读。为进一步增加合并机会,CORF++ 重构物理寄存器文件,允许在互斥子 bank 中合并不同物理寄存器的读,并将相应寄存器分配建模为二分边挫败图着色问题。评估显示,CORF++ 将寄存器文件动态能耗降低 17%,IPC 提升 9%。

问题
GPU 寄存器文件的频繁访问和有限端口导致动态能耗高、寄存器操作串行化并限制性能。
方法
利用编译器提示与寄存器打包合并单指令中的多个寄存器读,并通过 CORF++ 支持跨互斥子 bank 的合并读,同时以二分边挫败图着色完成寄存器分配。
评估
通过实验评估 CORF++ 的效果,结果显示寄存器文件动态能耗降低 17%,IPC 提升 9%。
原文摘要(Abstract)

The Register File (RF) in GPUs is a critical structure that maintains the state for thousands of threads that support the GPU processing model. The RF organization substantially affects the overall performance and the energy efficiency of a GPU. For example, the frequent accesses to the RF consume a substantial amount of the dynamic energy, and port contention due to limited ports on operand collectors and register file banks affect performance as register operations are serialized. We present CORF, a compiler-assisted Coalescing Operand Register File which performs register coalescing by combining reads to multiple registers required by a single instruction, into a single physical read. To enable register coalescing, CORF utilizes register packing to co-locate narrow-width operands in the same physical register. CORF uses compiler hints to identify which register pairs are commonly accessed together. CORF saves dynamic energy by reducing the number of physical register file accesses, and improves performance by combining read operations, as well as by reducing pressure on the register file. To increase the coalescing opportunities, we re-architect the physical register file to allow coalescing reads across different physical registers that reside in mutually exclusive sub-banks; we call this design CORF++. The compiler analysis for register allocation for CORF++ becomes a form of graph coloring called the bipartite edge frustration problem. CORF++ reduces the dynamic energy of the RF by 17%, and improves IPC by 9%.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot4849,
  title = {CORF},
  author = {Hodjat Asghari Esfeden and Farzad Khorasani and Hyeran Jeon and Daniel Wong and Nael Abu-Ghazaleh},
  booktitle = {ASPLOS},
  year = {2019},
  doi = {10.1145/3297858.3304026}
}