Compiler assisted coalescing

Autor: Sooraj Puthoor, Mikko H. Lipasti
Rok vydání: 2018
Předmět:
Zdroj: PACT
Popis: Tightly integrated CPU-GPU systems that share the same virtual address space have significantly improved the programmability of GPUs in recent years. However, to achieve this, every memory access from a GPU has to go through an address translation unit like the TLB and the huge demand on these TLBs can become a significant overhead. Previous proposals have suggested the use of an address coalescing unit that coalesces multiple accesses to the same page into a single access, significantly reducing pressure on the TLB. However, building perfect coalescing logic in real hardware is not feasible and employing a simpler hardware coalescing unit takes away many of the benefits of coalescing. In this paper, we propose compiler assisted coalescing (CAC) that significantly increases the coalescing capability of GPUs. Our CAC compiler annotates instructions that generate coalescable accesses at compile time, while simple bound checking hardware coalesces these accesses at runtime. We also introduce a translation table to the compute unit pipeline that leverages information passed from the CAC compiler to bypass the TLB, further reducing expensive TLB lookups. Evaluation of our technique on a variety of workloads shows that CAC reduces the TLB accesses by 62% with a TLB dynamic power reduction of 45%.
Databáze: OpenAIRE