Integrating GPGPU computations with CPU coroutines in C++
Subdepartment of Computer Security, National Research University Higher School of Economics, 34 Tallinskaya Ulitsa, Moscow, Russia
Journal of Physics: Conference Series 681 (2016) 012048, 2016
@inproceedings{lebedev2016integrating,
title={Integrating GPGPU computations with CPU coroutines in C++},
author={Lebedev, Pavel A},
booktitle={Journal of Physics: Conference Series},
volume={681},
number={1},
pages={012048},
year={2016},
organization={IOP Publishing}
}
We present results on integration of two major GPGPU APIs with reactor-based event processing model in C++ that utilizes coroutines. With current lack of universally usable GPGPU programming interface that gives optimal performance and debates about the style of implementing asynchronous computing in C++, we present a working implementation that allows a uniform and seamless approach to writing C++ code with continuations that allow processing on CPUs or CUDA/OpenCL accelerators. Performance results are provided that show, if corner cases are avoided, this approach has negligible performance cost on latency.
February 8, 2016 by hgpu
Your response
You must be logged in to post a comment.