11263

Supporting x86-64 Address Translation for 100s of GPU Lanes

Jason Power, Mark D. Hill, David A. Wood
Department of Computer Sciences, University of Wisconsin-Madison
The 20th IEEE International Symposium On High Performance Computer Architecture (HPCA’14), 2014

@article{power2014supporting,

   title={Supporting x86-64 Address Translation for 100s of GPU Lanes},

   author={Power, Jason and Hill, Mark D and Wood, David A},

   year={2014}

}

Download Download (PDF)   View View   Source Source   

791

views

Efficient memory sharing between CPU and GPU threads can greatly expand the effective set of GPGPU workloads. For increased programmability, this memory should be uniformly virtualized, necessitating compatible address translation support for GPU memory references. However, even a modest GPU might need 100s of translations per cycle (6 CUs * 64 lanes/CU) with memory access patterns designed for throughput more than locality. To drive GPU MMU design, we examine GPU memory reference behavior with the Rodinia benchmarks and a database sort to find: (1) the coalescer and scratchpad memory are effective TLB bandwidth filters (reducing the translation rate by 6.8x on average), (2) TLB misses occur in bursts (60 concurrently on average), and (3) post-coalescer TLBs have high miss rates (29% average). We show how a judicious combination of extant CPU MMU ideas satisfies GPU MMU demands for 4 KB pages with minimal overheads (an average of less than 2% over ideal address translation). This proof-of-concept design uses per-compute unit TLBs, a shared highly-threaded page table walker, and a shared page walk cache.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2017 hgpu.org

All rights belong to the respective authors

Contact us: