Ariadne - Directive-based parallelism extraction from recursive functions

作者: Aristeidis Mastoras , George Manis

DOI: 10.1016/J.JPDC.2015.07.009

关键词: Automatic parallelizationParallel computingProgramming languageComputer scienceDirectiveCompilerProgramming paradigmPOSIXCilkImplicit parallelismParallelism (grammar)

摘要: In this paper we present Ariadne, a compiler that extracts parallelism from recursive function calls. Ariadne takes as input C code enhanced with directives for functions and automatically produces multi-core architectures. It the POSIX standard, OpenMP model Cilk programming language, which run on wide variety of computing systems. also SL, language proposed SVP processor model. This is special interest, since can map certain calls onto SVP, contain inherent cannot efficiently be expressed in other models. only various forms using directives. handles all reduction operations addition, subtraction, multiplication division. The experimental results are very promising showing significant speedups benchmarks. A automatic parallelization introduced.It proposes simple to extract several recursion.It Cilk, model.It subtraction division.It presents

参考文章(21)
Dimitris Saougkos, Aristeidis Mastoras, George Manis, Fine grained parallelism in recursive function calls parallel processing and applied mathematics. pp. 121- 130 ,(2011) , 10.1007/978-3-642-31500-8_13
Akimasa Morihata, Kiminori Matsuzaki, Automatic parallelization of recursive functions using quantifier elimination international symposium on functional and logic programming. pp. 321- 336 ,(2010) , 10.1007/978-3-642-12251-4_23
Taisook Han, Joonseon Ahn, AN ANALYTICAL METHOD FOR PARALLELIZATION OF RECURSIVE FUNCTIONS Parallel Processing Letters. ,vol. 10, pp. 87- 98 ,(2000) , 10.1016/S0129-6264(00)00010-X
R. S. Bird, Tabulation Techniques for Recursive Programs ACM Computing Surveys. ,vol. 12, pp. 403- 417 ,(1980) , 10.1145/356827.356831
M. Gupta, N. Sinha, S. Mikhopadhyay, Automatic parallelization of recursive procedures international conference on parallel architectures and compilation techniques. pp. 139- 148 ,(1999) , 10.5555/520793.825722
Chirag Dave, Hansang Bae, Seung-Jai Min, Seyong Lee, Rudolf Eigenmann, Samuel Midkiff, Cetus: A Source-to-Source Compiler Infrastructure for Multicores IEEE Computer. ,vol. 42, pp. 36- 42 ,(2009) , 10.1109/MC.2009.385
Yasuharu Mizutani, Daisuke Nakajima, Kenichi Hagihara, Noriyuki Fujimoto, Evaluation of a compiler with user-selectable execution strategies for parallel recursion Systems and Computers in Japan. ,vol. 35, pp. 92- 103 ,(2004) , 10.1002/SCJ.V35:9
Norman H. Cohen, Characterization and elimination of redundancy in recursive programs symposium on principles of programming languages. pp. 143- 157 ,(1979) , 10.1145/567752.567766
Uday Bondhugula, Albert Hartono, J. Ramanujam, P. Sadayappan, A practical automatic polyhedral parallelizer and locality optimizer Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation - PLDI '08. ,vol. 43, pp. 101- 113 ,(2008) , 10.1145/1375581.1375595
Radu Rugina, Martin Rinard, Automatic parallelization of divide and conquer algorithms acm sigplan symposium on principles and practice of parallel programming. ,vol. 34, pp. 72- 83 ,(1999) , 10.1145/301104.301111