Automated Reasoning Support for Invasive Interactive Parallelization

To parallelize a sequential source code, a parallelization strategy must be defined that transforms the sequential source code into an equivalent parallel version. Since parallelizing compilers can sometimes transform sequential loops and other well-structured codes into parallel ones automatically,...

Full description

Bibliographic Details
Main Author: Moshir Moghaddam, Kianosh
Format: Others
Language:English
Published: Linköpings universitet, Institutionen för datavetenskap 2012
Subjects:
IIP
ISC
MPI
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-84830
id ndltd-UPSALLA1-oai-DiVA.org-liu-84830
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-liu-848302014-10-09T04:48:52ZAutomated Reasoning Support for Invasive Interactive ParallelizationengMoshir Moghaddam, KianoshLinköpings universitet, Institutionen för datavetenskapLinköpings universitet, Tekniska högskolan2012Multi-processorsDependence AnalysisCode parallelizationSemi-automatic parallelizationIIPISCOpenMPMPIArtificial IntelligenceReasoningDecision TreeDivide and Conquer (D&C) algorithmsTo parallelize a sequential source code, a parallelization strategy must be defined that transforms the sequential source code into an equivalent parallel version. Since parallelizing compilers can sometimes transform sequential loops and other well-structured codes into parallel ones automatically, we are interested in finding a solution to parallelize semi-automatically codes that compilers are not able to parallelize automatically, mostly because of weakness of classical data and control dependence analysis, in order to simplify the process of transforming the codes for programmers.Invasive Interactive Parallelization (IIP) hypothesizes that by using anintelligent system that guides the user through an interactive process one can boost parallelization in the above direction. The intelligent system's guidance relies on a classical code analysis and pre-defined parallelizing transformation sequences. To support its main hypothesis, IIP suggests to encode parallelizing transformation sequences in terms of IIP parallelization strategies that dictate default ways to parallelize various code patterns by using facts which have been obtained both from classical source code analysis and directly from the user.In this project, we investigate how automated reasoning can supportthe IIP method in order to parallelize a sequential code with an acceptable performance but faster than manual parallelization. We have looked at two special problem areas: Divide and conquer algorithms and loops in the source codes. Our focus is on parallelizing four sequential legacy C programs such as: Quick sort, Merge sort, Jacobi method and Matrix multipliation and summation for both OpenMP and MPI environment by developing an interactive parallelizing assistance tool that provides users with the assistanceneeded for parallelizing a sequential source code. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-84830application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Others
sources NDLTD
topic Multi-processors
Dependence Analysis
Code parallelization
Semi-automatic parallelization
IIP
ISC
OpenMP
MPI
Artificial Intelligence
Reasoning
Decision Tree
Divide and Conquer (D&C) algorithms
spellingShingle Multi-processors
Dependence Analysis
Code parallelization
Semi-automatic parallelization
IIP
ISC
OpenMP
MPI
Artificial Intelligence
Reasoning
Decision Tree
Divide and Conquer (D&C) algorithms
Moshir Moghaddam, Kianosh
Automated Reasoning Support for Invasive Interactive Parallelization
description To parallelize a sequential source code, a parallelization strategy must be defined that transforms the sequential source code into an equivalent parallel version. Since parallelizing compilers can sometimes transform sequential loops and other well-structured codes into parallel ones automatically, we are interested in finding a solution to parallelize semi-automatically codes that compilers are not able to parallelize automatically, mostly because of weakness of classical data and control dependence analysis, in order to simplify the process of transforming the codes for programmers.Invasive Interactive Parallelization (IIP) hypothesizes that by using anintelligent system that guides the user through an interactive process one can boost parallelization in the above direction. The intelligent system's guidance relies on a classical code analysis and pre-defined parallelizing transformation sequences. To support its main hypothesis, IIP suggests to encode parallelizing transformation sequences in terms of IIP parallelization strategies that dictate default ways to parallelize various code patterns by using facts which have been obtained both from classical source code analysis and directly from the user.In this project, we investigate how automated reasoning can supportthe IIP method in order to parallelize a sequential code with an acceptable performance but faster than manual parallelization. We have looked at two special problem areas: Divide and conquer algorithms and loops in the source codes. Our focus is on parallelizing four sequential legacy C programs such as: Quick sort, Merge sort, Jacobi method and Matrix multipliation and summation for both OpenMP and MPI environment by developing an interactive parallelizing assistance tool that provides users with the assistanceneeded for parallelizing a sequential source code.
author Moshir Moghaddam, Kianosh
author_facet Moshir Moghaddam, Kianosh
author_sort Moshir Moghaddam, Kianosh
title Automated Reasoning Support for Invasive Interactive Parallelization
title_short Automated Reasoning Support for Invasive Interactive Parallelization
title_full Automated Reasoning Support for Invasive Interactive Parallelization
title_fullStr Automated Reasoning Support for Invasive Interactive Parallelization
title_full_unstemmed Automated Reasoning Support for Invasive Interactive Parallelization
title_sort automated reasoning support for invasive interactive parallelization
publisher Linköpings universitet, Institutionen för datavetenskap
publishDate 2012
url http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-84830
work_keys_str_mv AT moshirmoghaddamkianosh automatedreasoningsupportforinvasiveinteractiveparallelization
_version_ 1716716386640723968