Title
Benchmarking and Evaluating Unified Memory for OpenMP GPU Offloading
Abstract
The latest OpenMP standard offers automatic device offloading capabilities which facilitate GPU programming. Despite this, there remain many challenges. One of these is the unified memory feature introduced in recent GPUs. GPUs in current and future HPC systems have enhanced support for unified memory space. In such systems, CPU and GPU can access each other's memory transparently, that is, the data movement is managed automatically by the underlying system software and hardware. Memory over subscription is also possible in these systems. However, there is a significant lack of knowledge about how this mechanism will perform, and how programmers should use it. We have modified several benchmarks codes, in the Rodinia benchmark suite, to study the behavior of OpenMP accelerator extensions and have used them to explore the impact of unified memory in an OpenMP context. We moreover modified the open source LLVM compiler to allow OpenMP programs to exploit unified memory. The results of our evaluation reveal that, while the performance of unified memory is comparable with that of normal GPU offloading for benchmarks with little data reuse, it suffers from significant overhead when GPU memory is over subcribed for benchmarks with large amount of data reuse. Based on these results, we provide several guidelines for programmers to achieve better performance with unified memory.
Year
DOI
Venue
2017
10.1145/3148173.3148184
LLVM-HPC@SC
DocType
ISBN
Citations 
Conference
978-1-4503-5565-0
4
PageRank 
References 
Authors
0.47
0
5
Name
Order
Citations
PageRank
Alok Mishra136435.73
Lingda Li2163.69
Martin Kong3896.18
Hal Finkel463.21
Barbara M. Chapman5904119.20