SemCache: semantics-aware caching for efficient GPU offloading
SemCache: semantics-aware caching for efficient GPU offloading
复制标题
SemCache:语义感知缓存,可实现高效 GPU 卸载
DOI:
10.1145/2464996.2465021
复制
发表时间:
2016
期刊:
影响因子:
--
通讯作者:
Milind Kulkarni
中科院分区:
文献类型:
--
作者:
Nabeel AlSaber;Milind Kulkarni
Recently, GPU libraries have made it easy to improve application performance by offloading computation to the GPU. However, using such libraries introduces the complexity of manually handling explicit data movements between GPU and CPU memory spaces. Unfortunately, when using these libraries with complex applications, it is very difficult to optimize CPU-GPU communication between multiple kernel invocations to avoid redundant communication.
In this paper, we introduce SemCache, a semantics-aware GPU cache that automatically manages CPU-GPU communication and dynamically optimizes communication by eliminating redundant transfers using caching. Its key feature is the use of library semantics to determine the appropriate caching granularity for a given offloaded library (e.g., matrices in BLAS). We applied SemCache to BLAS libraries to provide a GPU drop-in replacement library which handles communications and optimizations automatically. Our caching technique is efficient; it only tracks matrices instead of tracking every memory access at fine granularity. Experimental results show that our system can dramatically reduce redundant communication for real-world computational science application and deliver significant performance improvements, beating GPU-based implementations like CULA and CUBLAS.