VirtCL: A framework for OpenCL device abstraction and management

Yi-Ping You, Hen Jung Wu, Yeh Ning Tsai, Yen Ting Chao

研究成果: Conference contribution同行評審

29 引文 斯高帕斯(Scopus)

摘要

The interest in using multiple graphics processing units (GPUs) to accelerate applications has increased in recent years. However, the existing heterogeneous programming models (e.g., OpenCL) abstract details of GPU devices at the per-device level and require programmers to explicitly schedule their kernel tasks on a system equipped with multiple GPU devices. Unfortunately, multiple applications running on a multi-GPU system may compete for some of the GPU devices while leaving other GPU devices unused. Moreover, the distributed memory model defined in OpenCL, where each device has its own memory space, increases the complexity of managing the memory among multiple GPU devices. In this article we propose a framework (called VirtCL) that reduces the programming burden by acting as a layer between the programmer and the native OpenCL run-time system for abstracting multiple devices into a single virtual device and for scheduling computations and communications among the multiple devices. VirtCL comprises two main components: (1) a front-end library, which exposes primary OpenCL APIs and the virtual device, and (2) a back-end run-time system (called CLDaemon) for scheduling and dispatching kernel tasks based on a history-based scheduler. The front-end library forwards computation requests to the back-end CLDaemon, which then schedules and dispatches the requests. We also propose a history-based scheduler that is able to schedule kernel tasks in a contention- and communication-aware manner. Experiments demonstrated that the VirtCL framework introduced a small overhead (mean of 6%) but outperformed the native OpenCL run-time system for most benchmarks in the Rodinia benchmark suite, which was due to the abstraction layer eliminating the time-consuming initialization of OpenCL contexts. We also evaluated different scheduling policies in VirtCL with a real-world application (clsurf) and various synthetic workload traces. The results indicated that the VirtCL framework provides scalability for multiple kernel tasks running on multi-GPU systems.

原文English
主出版物標題20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - Proceedings
發行者Association for Computing Machinery
頁面161-172
頁數12
ISBN(電子)9781450332057
DOIs
出版狀態Published - 24 1月 2015
事件20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015 - San Francisco, United States
持續時間: 7 2月 201511 2月 2015

出版系列

名字Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP
2015-January

Conference

Conference20th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2015
國家/地區United States
城市San Francisco
期間7/02/1511/02/15

指紋

深入研究「VirtCL: A framework for OpenCL device abstraction and management」主題。共同形成了獨特的指紋。

引用此