|
Authors: | Lars Schor, Andreas Tretter, Tobias Scherer, Lothar Thiele |
Group: | Computer Engineering |
Type: | Inproceedings |
Title: | Exploiting the Parallelism of Heterogeneous Systems using Dataflow Graphs on Top of OpenCL |
Year: | 2013 |
Month: | October |
Pub-Key: | stst2013a |
Book Titel: | Proc. IEEE Symposium on Embedded Systems for Real-time Multimedia (ESTIMedia) |
Pages: | 41-50 |
Keywords: | MOC, ESD, DSE, OpenCL, DAL, DOL, SDF, process networks |
Publisher: | IEEE |
Abstract: | Programming heterogeneous systems has been greatly simplified by OpenCL, which provides a common low-level API for a large variety of compute devices. However, many low-level details, including data transfer, task scheduling, or synchronization, must still be managed by the application designer. Often, it is desirable to program heterogeneous systems in a higher-level language, making the developing process faster and less error-prone. In this paper, we introduce a framework to efficiently execute applications specified as synchronous dataflow graphs (SDF) on heterogeneous systems by means of OpenCL. In our approach, actors are embedded into OpenCL kernels and data channels are automatically instantiated to improve memory access latencies and end-to-end performance. The multi-level parallelism resulting from the hierarchical structure of heterogeneous systems is exploited by applying two techniques. Pipeline and task parallelism are used to distribute the application to the different compute devices and data-parallelism is used to concurrently process independent actor firings or even output tokens in a SIMD fashion. We demonstrate that the proposed framework can be used by application designers to efficiently exploit the parallelism of heterogeneous systems without writing low-level architecture dependent code. |
Location: | Montreal, Canada |
Resources: | [BibTeX] [ External LINK ] [Paper as PDF] |