DocumentCode :
3546871
Title :
Algorithmic species revisited: A program code classification based on array references
Author :
Nugteren, Cedric ; Corvino, R. ; Corporaal, Henk
Author_Institution :
Eindhoven Univ. of Technol., Eindhoven, Netherlands
fYear :
2013
fDate :
7-7 Sept. 2013
Firstpage :
1
Lastpage :
8
Abstract :
The shift towards parallel processor architectures has made programming, performance prediction and code generation increasingly challenging. Abstract representations of program code (i.e. classifications) have been introduced to address this challenge. An example is `algorithmic species´, a memory access pattern classification of loop nests. It provides an architecture-agnostic structured view of program code, allowing programmers and compilers to take for example parallelisation decisions or perform memory hierarchy optimisations. The existing algorithmic species theory is based on the polyhedral model and is limited to static affine loop nests. In this work, we first present a revised theory of algorithmic species that overcomes this limitation. The theory consists of a 5-tuple characterisation of individual array references and their corresponding merging operation. Second, we present an extension of this theory named SPECIES+, providing a more detailed 6-tuple characterisation. With this, we are able to retain relevant access pattern information not captured by the original algorithmic species, such as column-major versus row-major matrix accesses. We implement both new theories into a tool, enabling automatic classification of program code.
Keywords :
multiprocessing systems; parallel architectures; pattern classification; program compilers; program control structures; 6-tuple characterisation; SPECIES+; abstract representations; access pattern information; algorithmic species theory; architecture-agnostic structured view; array references; code generation; column-major accesses; compilers; memory access pattern classification; memory hierarchy optimisations; parallel processor architectures; performance prediction; polyhedral model; program code automatic classification; program code classification; row-major matrix accesses; static affine loop nests; Abstracts; Algorithm design and analysis; Arrays; Classification algorithms; Merging; Prediction algorithms; Program processors;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Multi-/Many-core Computing Systems (MuCoCoS), 2013 IEEE 6th International Workshop on
Conference_Location :
Edinburgh
Type :
conf
DOI :
10.1109/MuCoCoS.2013.6633604
Filename :
6633604
Link To Document :
بازگشت