본 논문에서는 GPGPU 가 없거나 저성능 GPGPU를 가진 시스템에서도 고성능 GPGPU 응용을 수행할 수 있도록, 로컬의 GPGPU응용을 오프로딩 하여 원격지에서 수행 시키는 프레임워크를 제안한다. 이 프레임워크는 응용으로부터 호출된 API를 OpenCL 라이브러리를 대신하여 새롭게 정의된 원격 전송 라이브러리를 통해 원격지로 보내고, 원격지에서는 전송 받은 API를 수행한 결과 값을 로컬로 전송한다. 이 결과 값은 로컬측 원격 전송 라이브러리를 통해 응용에게 다시 전달되므로, 응용은 하위 라이브러리 계층에 투명하게 원격지 수행을 보장 받을 수 있다. 제안하는 프레임워크 프로토타입은 OpenCL 버전 1.1을 지원하며, 원격 수행 시 기존 응용의 수정을 필요로 하지 않는다. Matrix Multiplication의 다양한 사이즈를 이용한 실험결과 원격지 수행이 로컬 수행 보다 최대 4.9배 향상됨을 볼 수 있었으며, LavaMD 실험의 경우 최대 3.2배 정도의 수행 성능 향상을 볼 수 있었음.
In this paper, we propose the framework that enables a local GPGPU application to run in remote site by offloading to support the system which does not have the GPGPU or has low performance GPGPU. This framework sends the invoked APIs from the application to the remote site using the newly defined remote transmission library instead of the original OpenCL library. In the remote site, the execution results of the received APIs are sent to the local machine. Since these results are transferred to the user application through the remote transmission library in the local site, the application is guaranteed the remote execution transparently. The prototype of this framework supports OpenCL version 1.1 and it does not require any modification of the application when it runs in the remote site. The experimental results for remote execution have shown that it performs maximum 4.9 times better than local execution using various Matrix Multiplication size and maximum 3.2 times better than local execution using the LavaMD workload.