With-loop scalarization -Merging nested array operations

Clemens Grelck, Sven Bodo Scholz, Kai Trojahner

9 Citations (Scopus)

Abstract

Construction of complex array operations by composition of more basic ones allows for abstract and concise specifications of algorithms. Unfortunately, naïve compilation of such specifications leads to creation of many temporary arrays at runtime and, consequently, to poor performance characteristics. This paper elaborates on a new compiler optimization, named WITH-LOOP-SCALARIZATION, which aims at eliminating temporary arrays in the context of nested array operations. It is based on WITH-loops, a versatile array comprehension construct used by the functional array language SAC both for specification as well as for internal representation of array operations. The impact of WITH-LOOP-SCALARIZATION on the runtime performance of compiled SAC code is demonstrated by several experiments involving support for arithmetic on arrays of complex numbers and the application kernel FT from the NAS benchmark suite.

Original languageEnglish
JournalLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume3145
Pages (from-to)118-134
Number of pages17
ISSN0302-9743
DOIs
Publication statusPublished - 01.12.2004

Fingerprint

Dive into the research topics of 'With-loop scalarization -Merging nested array operations'. Together they form a unique fingerprint.

Cite this