AUB ScholarWorks

Automatic loop parallelization -

Show simple item record

dc.contributor.author Tarhini, Ali Abbas,
dc.date 2013
dc.date.accessioned 2015-02-03T10:23:25Z
dc.date.available 2015-02-03T10:23:25Z
dc.date.issued 2013
dc.date.submitted 2013
dc.identifier.other b17911187
dc.identifier.uri http://hdl.handle.net/10938/9964
dc.description Thesis (M.E.)-- American University of Beirut, Department of Electrical and Computer Engineeering, 2013.
dc.description Advisor : Dr. Hazem Hajj, Associate Professor, Electrical and Computer Engineering--Committee Members : Dr. Mohammad Mansour, Associate Professor, Electrical and Computer Engineering ; Dr. Wassim El Hajj, Assistant Professor, Computer Science.
dc.description Includes bibliographical references (leaves 53-54)
dc.description.abstract With the advance of multi-core and many core systems, parallel programming has become possible for all developers. To obtain a better performance of software programs in today’s computers, programmers manually transform sequential code into parallel code to distribute the workload among the available processors. Replacing sequential code by parallel code yields to improvement in overall throughput, reduction in potential bottlenecks, and reduction in power consumption. However, manual hand coding is a difficult and error prone task for average programmers, especially when the code is complex. Furthermore loops in code are among the most important factors that impact the performance of any program. Most programs spend a lot of their running time iterating through one or more compute intensive loops. Many existing loop parallelization algorithms analyze loops at compile time to determine dependencies among loop iterations. However, for some loops, the dependencies cannot be analyzed except dynamically such as the case when array accesses are indexed data that are determined at runtime. This thesis presents a new dynamic algorithm for parallelizing loops by extracting the maximal sets of independent iteration statements and executing them concurrently. Our proposed method starts by conducting dependence analysis and sequence numbering. All statement iterations are first assigned sequence numbers signifying the order of their execution. The statement iterations having the same sequence number are then run concurrently. The algorithm was implemented using vb.net, and the experiments were conducted on the “Perfect Club Benchmark” created by the Center for Supercomputing Research and Development (CSRD) at the University of Illinois Urbana Champaign (UIUC) for evaluating high performance computing. In comparing to the conventional methods for loop parallelization, the proposed algorithm achieved a 980percent (9.8X) speedup and a 10percent reduction in memory usage.
dc.format.extent xii, 54 leaves : illustrations ; 30 cm
dc.language.iso eng
dc.relation.ispartof Theses, Dissertations, and Projects
dc.subject.classification ET:005920 AUBNO
dc.subject.lcsh Computer programming.
dc.subject.lcsh Parallel programming (Computer science)
dc.subject.lcsh Parallel processing (Electronic computers)
dc.subject.lcsh Multiprocessors.
dc.subject.lcsh Systems software.
dc.subject.lcsh Software engineering.
dc.subject.lcsh Computer algorithms.
dc.title Automatic loop parallelization -
dc.type Thesis
dc.contributor.department American University of Beirut. Faculty of Engineering and Architecture. Department of Electrical and Computer Engineeering.


Files in this item

This item appears in the following Collection(s)

Show simple item record

Search AUB ScholarWorks


Browse

My Account