Search In this Thesis
   Search In this Thesis  
العنوان
Parallization of loops with nonuniform dependencies/
الناشر
Khalid Mamoon Abd El-Aziz El-Bassioni,
المؤلف
El-Bassioni, Khalid Mamoon Abd El-Aziz.
هيئة الاعداد
مشرف / مجدى حسين ناجى
مشرف / احمد عبده النحاس
مشرف / محمد نزيه الدرينى
باحث / خالد مامون عبد العزيز البسيونى
الموضوع
Parallel processors.
تاريخ النشر
1995 .
عدد الصفحات
150 p.:
اللغة
الإنجليزية
الدرجة
ماجستير
التخصص
الهندسة
تاريخ الإجازة
1/1/1995
مكان الإجازة
جامعة الاسكندريه - كلية الهندسة - الآلات الحاسبه والتحكم الآلى
الفهرس
Only 14 pages are availabe for public view

from 170

from 170

Abstract

A parallelizing compiler tries to explore parallelism and generate parallel code to take advantage of the underlying parallel architecture.
Due to their rich parallelism, nested loops have been the target of considerable research in the recent years. Unfortunately, the dependence constraints that usually exist between the statements of a loop body in the form of cross-iteration dependencies place an upper limit on the degree of parallelism that may be exploited.
When a loop does not contain any cross-iteration dependencies, it is called a doall loop because its iterations can be executed in any order without extra synchronization.
Parallelizing a doall loop is simply assigning iterations to processors. On the other hand, a loop is termed doserial loop if some cross-iteration dependencies do exist. Iterations in such a loop can be executed in parallel provided that these dependencies are satisfied. One such technique is to partition the iteration space into independent sets that can be executed in parallel.
Several techniques exist in the literature to partition the iteration space assuming a uniform dependence pattern. A method is proposed in this thesis to extend these techniques to the case of nonuniform dependence constraints.
Another technique to parallelize a doserial loop is the use of a doacross loop in which some synchronization primitives must be inserted between different iterations to obey the dependence constraints.
To correctly insert these synchronization primitives, compilers or programmers have to find out, based on dependence analysis, the set of synchronization points which may be difficult to determine in the case of nonuniform dependencies.