A Translation Framework from RVC-CAL Dataflow Programs to OpenCL/SYCL based Implementations

Florian Krebs
Technischen Universitat Kaiserslautern
Technischen Universitat Kaiserslautern, 2019


   title={A Translation Framework from RVC-CAL Dataflow Programs to OpenCL/SYCL based Implementations},

   author={Krebs, Florian and Schneider, Klaus and Rafique, M Eng Omair},



Download Download (PDF)   View View   Source Source   



Conventional programming languages nowadays still rely on sequential Models of Computation (MoC). However, the hardware makes more and more use of parallelism to increase the performance, e.g. an increasing number of cores. Nevertheless, programming languages, that still rely on sequential MoCs are not well suited to completely utilise this hardware. Dataflow programming languages like RVC-CAL that rely on Dataflow Process Networks (DPNs) as MoC are more appropriate for this purpose. DPNs explicitly require the programmer to specify different processes that can be executed concurrently. One of the most popular compilers for RVC-CAL is the Open RVC-CAL Compiler (ORCC). ORCC converts RVC-CAL code to various backends, preferably C. But the generated C code only uses the multithreading mechanism of the Operating System. However, using OpenCL, a standard for the programming of heterogeneous systems, or SYCL, an abstraction layer for OpenCL offers a much more fine-grained parallelism and, therefore, can further increase the performance. This thesis provides a framework to convert RVC-CAL code to SYCL or OpenCL based implementations. This approach relies on the parallel execution of as many actions as possible within the actors. In comparison to other approaches, this framework does not entirely rely on synchronous dataflow. The execution of nonsynchronous actors can also be parallelised. The primary goal of this framework is to increase the performance by exploiting parallelism. This performance evaluation shows that for OpenCL based implementations performance gains up to 35% are achievable. For SYCL based implementations no performance gains are observable. Besides the performance, this framework also provides the ability to utilise OpenCL platforms other than the CPU, e.g. GPUs, and it enables a performance comparison of SYCL and OpenCL.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2024 hgpu.org

All rights belong to the respective authors

Contact us: