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 |
Name | Order | Citations | PageRank |
---|---|---|---|
Leonardo Luiz Padovani Da Mata | 1 | 3 | 0.37 |
Fernando Magno Quintão Pereira | 2 | 216 | 20.03 |
Renato Ferreira | 3 | 12 | 1.54 |