VirtCL: A Framework for OpenCL Device Abstraction and Management

碩士 === 國立交通大學 === 資訊科學與工程研究所 === 102 === Using multiple GPU devices to accelerate applications has become a growing area of interest in recent years. However, the existing heterogeneous programming models, such as OpenCL, abstract details of GPU devices at per device level and require programmers to...

Full description

Bibliographic Details
Main Authors: Wu, Han-Jung, 吳翰融
Other Authors: You, Yi-Ping
Format: Others
Language:en_US
Published: 2013
Online Access:http://ndltd.ncl.edu.tw/handle/18253720817653292197
id ndltd-TW-102NCTU5394053
record_format oai_dc
spelling ndltd-TW-102NCTU53940532016-07-02T04:20:31Z http://ndltd.ncl.edu.tw/handle/18253720817653292197 VirtCL: A Framework for OpenCL Device Abstraction and Management 通用圖形處理器裝置之抽象化與資源管理研究 Wu, Han-Jung 吳翰融 碩士 國立交通大學 資訊科學與工程研究所 102 Using multiple GPU devices to accelerate applications has become a growing area of interest in recent years. However, the existing heterogeneous programming models, such as OpenCL, abstract details of GPU devices at per device level and require programmers to explicitly schedule their kernel tasks on a system equipped with multiple GPU devices. Unfortunately, in the case of multiple applications running on a multi-GPU system, applications may compete for certain GPU device(s), say the first device, while some other GPU devices are left unused. Moreover, the distributed memory model (each device having its own memory space) defined in OpenCL complexes the memory management among multiple GPU devices. In this thesis, we propose a framework (called VirtCL), which acts as a layer between programmers and the native OpenCL runtime system for abstracting multiple devices into a single virtual device and scheduling computations and communications among the multiple devices, thereby alleviating programmers' burden. VirtCL comprises two main components: a front-end library, which exposes primary OpenCL APIs and the virtual device, and a back-end runtime system (called CLDaemon) for scheduling and dispatching kernels based on a history-based kernel scheduler. The front-end library forwards computation requests to the back-end CLDaemon, and CLDaemon then schedules and dispatches the requests. We also propose a history-based scheduler COST which is able to schedule kernels in a contention- and data-aware fashion. The experimental results show that the VirtCL framework outperformed the native OpenCL runtime system for most benchmarks in the Rodinia benchmark suite since the abstraction layer eliminated the heavy-weight initialization of OpenCL contexts. The overhead analysis shows that the framework has small overhead (10.44\% on average). The throughput of the proposed framework is measured under various kernel scheduling policies with real-world application clsurf and trace-based simulation.The result shows that the proposed scheduler beat native OpenCL and other schedulers when system load is very large, our proposed also enabled scalability for applications running on multi-GPU systems. You, Yi-Ping 游逸平 2013 學位論文 ; thesis 61 en_US
collection NDLTD
language en_US
format Others
sources NDLTD
description 碩士 === 國立交通大學 === 資訊科學與工程研究所 === 102 === Using multiple GPU devices to accelerate applications has become a growing area of interest in recent years. However, the existing heterogeneous programming models, such as OpenCL, abstract details of GPU devices at per device level and require programmers to explicitly schedule their kernel tasks on a system equipped with multiple GPU devices. Unfortunately, in the case of multiple applications running on a multi-GPU system, applications may compete for certain GPU device(s), say the first device, while some other GPU devices are left unused. Moreover, the distributed memory model (each device having its own memory space) defined in OpenCL complexes the memory management among multiple GPU devices. In this thesis, we propose a framework (called VirtCL), which acts as a layer between programmers and the native OpenCL runtime system for abstracting multiple devices into a single virtual device and scheduling computations and communications among the multiple devices, thereby alleviating programmers' burden. VirtCL comprises two main components: a front-end library, which exposes primary OpenCL APIs and the virtual device, and a back-end runtime system (called CLDaemon) for scheduling and dispatching kernels based on a history-based kernel scheduler. The front-end library forwards computation requests to the back-end CLDaemon, and CLDaemon then schedules and dispatches the requests. We also propose a history-based scheduler COST which is able to schedule kernels in a contention- and data-aware fashion. The experimental results show that the VirtCL framework outperformed the native OpenCL runtime system for most benchmarks in the Rodinia benchmark suite since the abstraction layer eliminated the heavy-weight initialization of OpenCL contexts. The overhead analysis shows that the framework has small overhead (10.44\% on average). The throughput of the proposed framework is measured under various kernel scheduling policies with real-world application clsurf and trace-based simulation.The result shows that the proposed scheduler beat native OpenCL and other schedulers when system load is very large, our proposed also enabled scalability for applications running on multi-GPU systems.
author2 You, Yi-Ping
author_facet You, Yi-Ping
Wu, Han-Jung
吳翰融
author Wu, Han-Jung
吳翰融
spellingShingle Wu, Han-Jung
吳翰融
VirtCL: A Framework for OpenCL Device Abstraction and Management
author_sort Wu, Han-Jung
title VirtCL: A Framework for OpenCL Device Abstraction and Management
title_short VirtCL: A Framework for OpenCL Device Abstraction and Management
title_full VirtCL: A Framework for OpenCL Device Abstraction and Management
title_fullStr VirtCL: A Framework for OpenCL Device Abstraction and Management
title_full_unstemmed VirtCL: A Framework for OpenCL Device Abstraction and Management
title_sort virtcl: a framework for opencl device abstraction and management
publishDate 2013
url http://ndltd.ncl.edu.tw/handle/18253720817653292197
work_keys_str_mv AT wuhanjung virtclaframeworkforopencldeviceabstractionandmanagement
AT wúhànróng virtclaframeworkforopencldeviceabstractionandmanagement
AT wuhanjung tōngyòngtúxíngchùlǐqìzhuāngzhìzhīchōuxiànghuàyǔzīyuánguǎnlǐyánjiū
AT wúhànróng tōngyòngtúxíngchùlǐqìzhuāngzhìzhīchōuxiànghuàyǔzīyuánguǎnlǐyánjiū
_version_ 1718331786072686592