Abstract. Special purpose embedded languages facilitate generating high-performance code from purely functional high-level code; for example, we want to program highly parallel GPUs without the usual high barrier to entry and the time-consuming development process. We previously demonstrated the feasibility of a skeleton-based, generative approach to compiling such embedded languages. In this paper, we (a) describe our solution to some of the practical problems with skeleton-based code generation and (b) introduce our approach to enabling interoperability with native code. In particular, we show, in the context of a functional embedded language for GPU programming, how template meta programming simplifies code generation and optimisation. F...
GPUs and other accelerators are popular devices for accelerating compute-intensive, parallelizable a...
Integrating task and data parallelism in a language framework has attracted considerable attention. ...
GPUs and other accelerators are popular devices for accelerating compute-intensive, parallelizable a...
International audienceEfficiently using the hardware capabilities of the Cell processor, a heterogen...
Computer programming should be expressing the complicated in easily understandable parts. General la...
AbstractEmbedding is the process of implementing a language by defining functions in an existing “ho...
We describe an experiment in the use of domain-specific embedded languages for program generation. S...
Functional languages are particularly well-suited to the implementation of interpreters for domain-s...
The approach of embedding hardware description lan-guages in general-purpose languages has been wide...
The approach of embedding hardware description languages in general-purpose languages has been widel...
This thesis presents SkePU 2, the next generation of the SkePU C++ framework for programming of hete...
Graphical Processing Units (GPUs) are known to be excellent computation accelerators. However, their...
Computers today are becoming more and more parallel. General purpose processors (CPUs) have multipl...
Purely functional, embedded array programs are a good match for SIMD hardware, such as GPUs. However...
GPUs have been gaining popularity as general purpose parallel processors that deliver a performance ...
GPUs and other accelerators are popular devices for accelerating compute-intensive, parallelizable a...
Integrating task and data parallelism in a language framework has attracted considerable attention. ...
GPUs and other accelerators are popular devices for accelerating compute-intensive, parallelizable a...
International audienceEfficiently using the hardware capabilities of the Cell processor, a heterogen...
Computer programming should be expressing the complicated in easily understandable parts. General la...
AbstractEmbedding is the process of implementing a language by defining functions in an existing “ho...
We describe an experiment in the use of domain-specific embedded languages for program generation. S...
Functional languages are particularly well-suited to the implementation of interpreters for domain-s...
The approach of embedding hardware description lan-guages in general-purpose languages has been wide...
The approach of embedding hardware description languages in general-purpose languages has been widel...
This thesis presents SkePU 2, the next generation of the SkePU C++ framework for programming of hete...
Graphical Processing Units (GPUs) are known to be excellent computation accelerators. However, their...
Computers today are becoming more and more parallel. General purpose processors (CPUs) have multipl...
Purely functional, embedded array programs are a good match for SIMD hardware, such as GPUs. However...
GPUs have been gaining popularity as general purpose parallel processors that deliver a performance ...
GPUs and other accelerators are popular devices for accelerating compute-intensive, parallelizable a...
Integrating task and data parallelism in a language framework has attracted considerable attention. ...
GPUs and other accelerators are popular devices for accelerating compute-intensive, parallelizable a...