Abstract
Array-oriented programming has been around for about thirty years and provides a fundamental abstraction for scientific computing. However, a wealth of popular programming languages in existence fail to provide convenient highlevel abstractions and exploit parallelism. One reason being that hardware is an ever-moving target.For this purpose, we introduce CAPE, a C-targeting Array Processing Engine, which manages the concerns of optimizing and parallelizing the execution of array operations. It is intended as a backend for new and existing languages and provides a portable runtime with a C-interface.The performance of the implementation is studied in relation to high-level implementations of a set of applications, kernels and synthetic benchmarks in Python/NumPy as well as lowlevel implementations in C/C++. We show the performance improvement over the high-productivity environment and how close the implementation is to handcrafted C/C++ code.
Originalsprog | Engelsk |
---|---|
Titel | 2016 Sixth International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing |
Udgivelsessted | Salt Lake City, USA |
Forlag | IEEE |
Publikationsdato | 27 jan. 2017 |
Kapitel | 16689245 |
DOI | |
Status | Udgivet - 27 jan. 2017 |