TY - GEN
T1 - Tiled linear algebra a system for parallel graph algorithms
AU - Maleki, Saeed
AU - Evans, G. Carl
AU - Padua, David A.
N1 - Publisher Copyright:
© Springer International Publishing Switzerland 2015.
PY - 2015
Y1 - 2015
N2 - High performance parallel kernels for solving graph problems are complex and difficult to write. Some systems have been developed to facilitate the implementation of these kernels but the code they produce does not always perform as well as custom software. In this space, we propose Tiled Linear Algebra (TLA), a multi-level system based on linear algebra but with explicit parallel extensions. Programs can be first written in a conventional manner using linear algebra and then tuned for parallel performance using our extension. This separation allows programmers with different expertise to focus on their strengths with writing original codes that can then be tuned by parallel experts. This paper presents the background on using linear algebra to express graph algorithms and describes the extensions TLA provides to implement their parallel versions. The key extensions supported by TLA are: data distribution, partial computation, delaying updates, and communication. With these extensions to the traditional linear algebra operators, we could produce linear algebra based versions of several problems including single source shortest path that should preform close to custom implementations.We present results on several single source shortest path algorithms to demonstrate the features of TLA.
AB - High performance parallel kernels for solving graph problems are complex and difficult to write. Some systems have been developed to facilitate the implementation of these kernels but the code they produce does not always perform as well as custom software. In this space, we propose Tiled Linear Algebra (TLA), a multi-level system based on linear algebra but with explicit parallel extensions. Programs can be first written in a conventional manner using linear algebra and then tuned for parallel performance using our extension. This separation allows programmers with different expertise to focus on their strengths with writing original codes that can then be tuned by parallel experts. This paper presents the background on using linear algebra to express graph algorithms and describes the extensions TLA provides to implement their parallel versions. The key extensions supported by TLA are: data distribution, partial computation, delaying updates, and communication. With these extensions to the traditional linear algebra operators, we could produce linear algebra based versions of several problems including single source shortest path that should preform close to custom implementations.We present results on several single source shortest path algorithms to demonstrate the features of TLA.
UR - http://www.scopus.com/inward/record.url?scp=84937509871&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84937509871&partnerID=8YFLogxK
U2 - 10.1007/978-3-319-17473-0_8
DO - 10.1007/978-3-319-17473-0_8
M3 - Conference contribution
AN - SCOPUS:84937509871
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 116
EP - 130
BT - Languages and Compilers for Parallel Computing - 27th International Workshop, LCPC 2014, Revised Selected Papers
A2 - Brodman, James
A2 - Tu, Peng
PB - Springer
T2 - 27th International Workshop on Languages and Compilers for Parallel Computing, LCPC 2014
Y2 - 15 September 2014 through 17 September 2014
ER -