Journal Article10.1016/0167-8191(94)00077-N
Restructuring and parallelizing a static conditional loop
Zaher Mahjoub,Mohamed Jemni +1 more
- 01 Feb 1995
- Vol. 21, Iss: 2, pp 339-347
5
TL;DR: This work addresses the problem of restructuring L in order to extract the inherent parallelism in a static conditional loop by adopting a dependence analysis approach and splitting the loop index set into a series of successive SCLs.
read more
Abstract: Let L be a static conditional loop (SCL), i.e. involving an IF-THEN-ELSE statement with a static condition, that carries dependences with non-constant distances. We address the problem of restructuring L in order to extract the inherent parallelism. Adopting a dependence analysis approach, the restructuring procedure is essentially based on the study of the signs of the dependence distances. This leads to split the loop index set and consequently L into a series of successive (IF-THEN-ELSE and/or IF-THEN) SCLs. Each new loop is associated to a subset of the index set, carries a constant sign dependence distance and may be sequential, parallel or partially parallel. The practical efficiency of the approach is analysed through performance evaluation experiments run on a Stardent 3000 vector-biprocessor.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Index set splitting
TL;DR: A preprocessing phase for algorithms in the polytope model is proposed, which extends the model and yields space-time mappings whose schedule is, in some cases, orders of magnitude faster.
80
Patent
Generating predicate values based on conditional data dependency in vector processors
Jeffry E. Gonion,Keith E. Diefendorff +1 more
- 24 Sep 2008
TL;DR: In this paper, a method for performing parallel operations in a computer system when one or more conditional dependencies may be present, where a given conditional dependency includes a dependency associated with at least two data elements based on a pair of conditions.
14
On index set splitting
Martin Griebl,Christian Lengauer,Paul Feautrier +2 more
- 12 Oct 1999
TL;DR: A preprocessing phase for algorithms in the polytope model is proposed, which extends the model and yields space-time mappings whose schedule is, in some cases, orders of magnitude faster.
11
On the parallelization of single dynamic conditional loops
Zaher Mahjoub,Mohamed Jemni +1 more
TL;DR: The aim is to restructure ℒ in order to extract the inherent parallelism by splitting the loop index set into at most four subsets where each DD has a constant sign.
3
Automatic Parallelization of Loop Programs for Distributed Memory Architectures
Martin Griebl
- 01 Jan 2004
TL;DR: A mathematical model, the polyhedron model, is applied that gives a unified framework for the various parallelization tasks, and that allows a directed search for optimal solutions, to derive a method that allows to precisely adapt the granularity to the given parallel architecture.
References
•Book
Supercompilers for parallel and vector computers
Hans P. Zima,Barbara Chapman +1 more
- 01 Jan 1990
TL;DR: This paper presents a meta-modelling architecture for supercompilers that automates the very labor-intensive and therefore time-heavy and expensive process of learning and optimization of supercomputing systems.
778
Conversion of control dependence to data dependence
John R. Allen,Ken Kennedy,Carrie Porterfield,Joe Warren +3 more
- 24 Jan 1983
TL;DR: This paper presents a method for systematically converting control dependences to data dependences in this fashion by eliminating goto statements and introducing logical variables to control the execution of statements in the program.
644
Parafrase-2: an environment for parallelizing, partitioning, synchronizing, and scheduling programs on multiprocessors
Constantine D. Polychronopoulos,Milind Girkar,Mohammad R. Haghighat,Chia Ling Lee,Bruce Leung,Dale Schouten +5 more
TL;DR: Parafrase-2 as mentioned in this paper is a vectorizing/parallelizing compiler implemented as a source to source code restructurer. Specific topics discussed are dependence analysis, timing and overhead analysis, interprocedural analysis, automatic scheduling and the graphical user interface.
240
Compiler optimizations for enhancing parallelism and their impact on architecture design
Constantine D. Polychronopoulos
- 01 Aug 1988
TL;DR: By examining the structure and characteristics of parallel programs the author isolates potential overhead sources and considers cycle shrinking and distributed barriers as one of the most serious sources of run-time overhead in parallel programs.
142
Dynamic processor self-scheduling for general parallel nested loops
TL;DR: In this paper, a processor self-scheduling scheme for general parallel nested loops in multiprocessor systems is proposed, which allows processors to schedule loop iterations among themselves dynamically at run time without involving the operating system.
78