Title
Automatic parallelization of canonical loops
Abstract
This paper presents a compilation technique that performs the automatic parallelization of canonical loops. Canonical loops are a recurring pattern that we have observed in many well known algorithms, such as frequent itemset, K-means and K nearest neighbors. Our compiler translates C code to sequences of stream filters that communicate through a variety of channel types. We analyze code containing canonical loops, separate the data over a cluster of processors and determine suitable communication strategies between these processors. Experiments performed on a cluster of 36 computers show that, for the three algorithms described above, our method produces speed-ups that are almost linear on the number of available processors. These experiments also show that the code automatically generated is competitive when compared to hand tuned programs.
Year
DOI
Venue
2013
10.1016/j.scico.2012.09.006
Sci. Comput. Program.
Keywords
Field
DocType
suitable communication strategy,channel type,stream filter,frequent itemset,automatic parallelization,compilation technique,compiler translates c code,available processor,canonical loop,compiler
k-nearest neighbors algorithm,Programming language,Computer science,Parallel computing,Stream programming,Compiler,Theoretical computer science,Automatic parallelization
Journal
Volume
Issue
ISSN
78
8
0167-6423
Citations 
PageRank 
References 
3
0.37
16
Authors
3