Automatic Mapping of Array Operations to Specific Architectures

Simon Andreas Frimann Lund, Mads Ruben Burgdorff Kristensen, Brian Vinter

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.

OriginalsprogEngelsk
Titel2016 Sixth International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing
UdgivelsesstedSalt Lake City, USA
ForlagIEEE
Publikationsdato27 jan. 2017
Kapitel16689245
DOI
StatusUdgivet - 27 jan. 2017

Fingeraftryk

Dyk ned i forskningsemnerne om 'Automatic Mapping of Array Operations to Specific Architectures'. Sammen danner de et unikt fingeraftryk.

Citationsformater