DocumentCode :
154178
Title :
A Compiler Extension for Parallel Matrix Programming
Author :
Williams, Kresimir ; Le, Matthew ; Kaminski, Ted ; Van Wyk, Eric
Author_Institution :
Dept. of Comput. Sci. & Eng., Univ. of Minnesota, Minneapolis, MN, USA
fYear :
2014
fDate :
9-12 Sept. 2014
Firstpage :
471
Lastpage :
480
Abstract :
This paper describes a compiler extension to our prototype extensible C translator that adds new features for parallel execution of matrix operations and shows their application to problems in spatio-temporal data mining. The extension provides new language features for constructing new matrices, mapping functions over elements of a matrix, and accumulating operations that, for example, can sum values in a matrix. It also provides the appropriate semantic analysis to check for errors before translating the constructs down to parallel C code. The extension also provides features that let the programmer indicate how the extension translates these matrix constructs down to C code. Programmers seeking higher levels of performance can specify how the underlying for-loops are structured so that code using, for example, loop-tiling techniques or vector processors, is generated. In general, compiler extensions supported by our approach allow new domain-specific syntax and semantic analyses to be easily added to the host language. Specifications of the host C language and the extensions are composed to create a custom translator that maps extended C programs down to plain (parallel) C code, checking for domain-specific errors and applying high-level domain-specific optimizations in the process.
Keywords :
C language; data mining; formal specification; matrix algebra; optimisation; parallel programming; program compilers; C language; compiler extension; high-level domain-specific optimization; language feature; loop-tiling technique; matrix operation; parallel C code; parallel matrix programming; prototype extensible C translator; semantic analysis; spatio-temporal data mining; syntax analysis; vector processor; Generators; Indexing; Instruction sets; Oceans; Semantics; Syntactics; extensible languages; matrix programming; parallel programming;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Parallel Processing (ICPP), 2014 43rd International Conference on
Conference_Location :
Minneapolis MN
ISSN :
0190-3918
Type :
conf
DOI :
10.1109/ICPP.2014.56
Filename :
6957256
Link To Document :
بازگشت