About
9
Publications
684
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
63
Citations
Introduction
Current institution
Publications
Publications (9)
In earlier work, we defined a domain-specific language (DSL) with the aim to provide an easy-to-use approach for programming multi-core and multi-GPU clusters. The DSL incorporates the idea of utilizing algorithmic skeletons, which are well-known patterns for parallel programming, such as map and reduce. Based on the chosen skeleton, a user-defined...
Parallel programming for an infrastructure of multi-core or many-core clusters is a challenge for developers without experience in this domain. Developers need to use several libraries such as MPI, OpenMP, and CUDA to efficiently use the hardware which may include additional accelerators such as GPUs. Also, performing low-level optimizations is req...
Parallel programming can be difficult and error prone, in particular if low-level optimizations are required in order to reach high performance in complex environments such as multi-core clusters using MPI and OpenMP. One approach to overcome these issues is based on algorithmic skeletons. These are predefined patterns which are implemented in para...
Swarm intelligence (SI) algorithms are handy tools for solving complex optimization problems. When problems grow in size and complexity, an increase in population or number of iterations might be required in order to achieve a good solution. These adjustments also impact the execution time. This article investigates the trade-off involving populati...
Low-level parallel programming is a tedious and error-prone task, especially when combining several programming models such as OpenMP, MPI, and CUDA. Algorithmic skeletons are a well-known high-level solution to these issues. They provide recurring building blocks such as map, fold, and zip, which are used by the application programmer and executed...
The demand for computational power is constantly increasing, which requires financial investments and know-how for companies. The answer to this challenge is two-fold. First, companies can rely on cloud providers to provide infrastructure. Second, programming models emerged to simplify parallel programming, one of them being algorithmic skeletons....
Parallel programming has become ubiquitous; however, it is still a low-level and error-prone task, especially when accelerators such as GPUs are used. Thus, algorithmic skeletons have been proposed to provide well-defined programming patterns in order to assist programmers and shield them from low-level aspects. As the complexity of problems, and c...
Despite much progress, cross-platform app development frameworks remain a topic of active research. While
frameworks that yield native apps are particularly attractive, their spread is very limited. It is apparent that
(theoretical) technological superiority needs to be accompanied with profound support for developers and
adequate capabilities for...