Remote execution of OpenCL and SYCL applications via rOpenCL - Alves, Rui (2010)
With the increasing computational demands of modern applications, heterogeneous systems continue to have an important role in accelerating computationally intensive tasks, a trend confirmed by the most recent HPC architectures. Efficiently exploiting these systems implies the use of specific programming paradigms, such as the classic OpenCL model, or modern single-source alternatives, like SYCL. However, the original execution model of these approaches does not provision for the use of coprocessors other than those directly attached to the host system where the heterogeneous application starts. Over time, several solutions emerged to cope with this limitation, both at the hardware and software level, allowing to exploit remote/distributed co-processors. In this paper, a representative set of seminal OpenCL API Forwarders is revisited and their performance compared with rOpenCL (a recently introduced platform of the same kind), using the classical matrix multiplication case study. In addition, given the importance of SYCL, which has been steadily gaining traction, this paper also exploits the potential of rOpenCL in supporting SYCL applications that use remote accelerators. To that end, another set of benchmarks is used, with both OpenCL and SYCL implementations, allowing not only to gather insight into the performance trade-offs of local versus remote (via rOpenCL) execution, but also about the current performance differential between the two programming models.