Abstract: As the computer industry is reaching more and more limits regarding processor speed and transistor size, they have to come up with complex new architectures and more efficient use of the available processing power. For application developers this can be a difficult task, because they have to be aware of low-level hardware properties and there are many pitfalls to circumvent. The Distributed Application Layer (DAL) framework developed at the Computer Engineering Lab provides application designers with a tool to simplify their work-flow and still providing a high level of flexibility and more importantly: parallelism. Running an application on multiple processing units in parallel without synchronization issues, is one of the key features of the DAL framework.

In the past, a new branch of the DAL framework got developed including the capability of executing applications on dedicated hardware like Graphics Processing Units (GPUs) or coprocessors by using OpenCL. Even though this implementation is working as intended, there are still some drawbacks which delayed the integration of this branch into the main DAL framework. This thesis progresses with integrating the OpenCL capabilities and adds some new specifications which allow a more generalized definition for DAL applications. As part of this process, some new programming constructs are introduced and the framework is extended with a transformation tool. This addition allows to produce different source code depending on the desired mapping.
The final evaluations of the newly implemented changes in the DAL framework show that no performance loss can be determined when using the generalized version of an application.

Author/s: Matthias Baer, University of Thessaly, ETH Zurich.
Article: Link to Article (pdf)
Source/Type: Thesis