Working with Sequential Versions
Most of the developing stages are made sequentially and in gradual stages.
Each stage can be debugged sequentially, such that many bugs are found and removed before the parallel program is tested. Clearly, debugging a parallel program is harder than a sequential one, due to the fact that for a parallel program all possible execution orders must be tested.
Dependence analysis of the sequential program can reveal potential ways to invoke more parallelism to the desired parallel program.
KeywordsParallel Algorithm Parallel Program Parallel Version Memory Reference Sequential Program
- Kuck, D.J., Kuhn, R.H., Leasure, B., Wolfe, M.: The structure of an advanced retargetable vectorizer. In: Proc. COMPSAC ’80 (1980). A revised version appeared in K. Hwang, Supercomputers: Design and Applications, pp. 163–178, IEEE Computer Society, 1984 Google Scholar
- Whitfield, D., Soffa, M.L.: An approach to ordering optimizing transformations. In: Symp. Principles & Practice of Parallel Programming, pp. 137–146 (1990) Google Scholar
- Wolf, M.E., Lam, M.S.: A loop transformation theory and an algorithm to maximize parallelism. IEEE Trans. Parallel Distrib. Syst., 452–471 (1991) Google Scholar