Automatic Parallelization using Open MP Directives
Anala M R1, Deepika Dash2
1Prof. Anala M R, Dept. of CSE, RVCE, Bengaluru, India.
2Prof. Deepika Dash, Dept. of CSE, RVCE, Bengaluru, India.
Manuscript received on 24 August 2019. | Revised Manuscript received on 06 September 2019. | Manuscript published on 30 September 2019. | PP: 4060-4063 | Volume-8 Issue-11, September 2019. | Retrieval Number: K15460981119/2019©BEIESP | DOI: 10.35940/ijitee.K1546.0981119
Open Access | Ethics and Policies | Cite | Mendeley | Indexing and Abstracting
© The Authors. Blue Eyes Intelligence Engineering and Sciences Publication (BEIESP). This is an open access article under the CC-BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/)
Abstract: With the increase in the advent of parallel computing, it has become necessary to write OpenMP programs to achieve better speedup and to exploit parallel hardware efficiently. However, to achieve this, the programmers are required to understand OpenMP directives and clauses, the dependencies in their code, etc. A small mistake made by them, such as wrongly analysing a dependency or wrong data scoping of a variable, can result in an incorrect or inefficient program. In this paper, we propose a system which can automate the process of parallelization of a serial C code. The system accepts a serial program as input and generates the corresponding parallel code in OpenMP without altering the core logic of the program. The system has used different data scoping and work sharing constructs available in OpenMP platform.The system designed here aims at parallelizing “for” loops, “while” loops, nested “for” loops and recursive structures.The system has parallelized “for” loop by considering the induction variable. And converted “while” loop to “for” loop for parallelization. The system is tested by providing several programs such as matrix addition, quick sort, linear search etc. as input. The execution time of programs before and after parallelization is determined and a graph is plotted to help visualize the decrease in execution time.
Keywords: Automatic Parallelization Tool, collapse, OpenMP, OpenMP directives and clauses, pragma directives, parallel computing, recursive structures, task, taskwait
Scope of the Article: Parallel Computing on GPU