Automatic parallelization of sequential code for a cluster of multiprocessors
نویسندگان
چکیده
In recent years parallel architectures have rapidly evolved to solve increasingly large problems, mainly because single processor based systems have reached the limit of their physical capacity. The end of 90’s has seen the growth and evolution of parallel architectures towards a cluster of multiprocessors owing to scaling problems with shared memory machines. The efficient use of such parallel architectures demands writing of parallel code by the programmer or automatic parallelization of sequential code by the compiler. We shall look at the latter approach in more detail since the former places too much responsibility on the individual. Our approach is based on SUIF, an automatic parallelizer for a symmetric memory architecture, developed by the Stanford University. We shall focus on extending SUIF to produce high level code with explicit calls to parallel libraries like MPI instead of calls to runtime libraries. This would allow us to produce parallel code for a cluster of multiprocessors instead of a shared memory machine.
منابع مشابه
Pattern-Driven Automatic Parallelization
This paper describes a knowledge based system for automatic parallelization of a wide class of sequential numeric codes operating on vectors and dense matrices and for execution on distributed memory message passing multiprocessors Its main feature is a fast and powerful pattern recognition tool that locally identi es frequently occurring computations and programming concepts in the source code...
متن کاملParallelization of NAS Benchmarks for Shared Memory Multiprocessors
This paper presents our experiences of parallelizing the sequential implementation of NAS benchmarks using compiler directives on SGI Origin2000 distributed shared memory (DSM) system. Porting existing applications to new high performance parallel and distributed computing platforms is a challenging task. Ideally, a user develops a sequential version of the application, leaving the task of port...
متن کاملDependency Analysis of For-loop Structures for Automatic Parallelization of C Code
Dependency analysis techniques used for parllelizing compilers can be used to produce coarse grained code for distributed memory systems such as a cluster of workstations. Nested for-loops provide opportunities for this coarse grained parallelization. This paper describes current dependency analysis tests that can be used to identify ways for transforming sequential C code into parallel C code....
متن کاملVectorization and Parallelization of Clustering Algorithms
In this work we present a study on the parallelization of code segments that are typical of clustering algorithms. In order to approach this problem from a practical point of view we have considered the parallelization on the three types of architectures currently available from parallel system manufacturers: vector computers, shared memory multiprocessors and distributed memory multicomputers....
متن کاملAutomatic Resource-Constrained Static Task Parallelization : A Generic Approach. (Parallélisation automatique et statique de tâches sous contraintes de ressources : une approche générique)
This thesis intends to show how to efficiently exploit the parallelism present in applications in order to enjoy the performance benefits that multiprocessors can provide, using a new automatic task parallelization methodology for compilers. The key characteristics we focus on are resource constraints and static scheduling. This methodology includes the techniques required to decompose applicat...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003