Parallelizing iterative loops with conditional branching

Research output: Contribution to journalArticle

3 Citations (Scopus)

Abstract

This paper considers automatic restructuring of loops with conditional branching for parallel processing, especially a class of loops termed 'conditional cyclic loops.' A conditional cyclic loop possesses a dependence cycle caused by conditional branching across loop iterations, which makes it difficult to parallelize. In general, parallel execution of a conditional cyclic loop provides little benefit due to the need of solving a full-order nonlinear Boolean recurrence relation. However, the Boolean recurrence in practice is often of simpler forms. With the simpler forms, the number of possible predicate values of conditional branching is reduced drastically compared to a general conditional cyclic loop. These simple forms of conditional cyclic loops found in practice can be parallelized for O(p/log p) speedup with p processors.

Original languageEnglish
Pages (from-to)185-189
Number of pages5
JournalIEEE Transactions on Parallel and Distributed Systems
Volume6
Issue number2
DOIs
Publication statusPublished - 1995 Feb 1
Externally publishedYes

Fingerprint

Branching
Processing
Recurrence relation
Parallel Processing
Predicate
Recurrence
Speedup
Iteration
Cycle
Form

ASJC Scopus subject areas

  • Computational Theory and Mathematics
  • Electrical and Electronic Engineering
  • Theoretical Computer Science

Cite this

Parallelizing iterative loops with conditional branching. / Lee, Kyung Ho.

In: IEEE Transactions on Parallel and Distributed Systems, Vol. 6, No. 2, 01.02.1995, p. 185-189.

Research output: Contribution to journalArticle

@article{8e0f7c90fb764beea91ee8beadb46b45,
title = "Parallelizing iterative loops with conditional branching",
abstract = "This paper considers automatic restructuring of loops with conditional branching for parallel processing, especially a class of loops termed 'conditional cyclic loops.' A conditional cyclic loop possesses a dependence cycle caused by conditional branching across loop iterations, which makes it difficult to parallelize. In general, parallel execution of a conditional cyclic loop provides little benefit due to the need of solving a full-order nonlinear Boolean recurrence relation. However, the Boolean recurrence in practice is often of simpler forms. With the simpler forms, the number of possible predicate values of conditional branching is reduced drastically compared to a general conditional cyclic loop. These simple forms of conditional cyclic loops found in practice can be parallelized for O(p/log p) speedup with p processors.",
author = "Lee, {Kyung Ho}",
year = "1995",
month = "2",
day = "1",
doi = "10.1109/71.342131",
language = "English",
volume = "6",
pages = "185--189",
journal = "IEEE Transactions on Parallel and Distributed Systems",
issn = "1045-9219",
publisher = "IEEE Computer Society",
number = "2",

}

TY - JOUR

T1 - Parallelizing iterative loops with conditional branching

AU - Lee, Kyung Ho

PY - 1995/2/1

Y1 - 1995/2/1

N2 - This paper considers automatic restructuring of loops with conditional branching for parallel processing, especially a class of loops termed 'conditional cyclic loops.' A conditional cyclic loop possesses a dependence cycle caused by conditional branching across loop iterations, which makes it difficult to parallelize. In general, parallel execution of a conditional cyclic loop provides little benefit due to the need of solving a full-order nonlinear Boolean recurrence relation. However, the Boolean recurrence in practice is often of simpler forms. With the simpler forms, the number of possible predicate values of conditional branching is reduced drastically compared to a general conditional cyclic loop. These simple forms of conditional cyclic loops found in practice can be parallelized for O(p/log p) speedup with p processors.

AB - This paper considers automatic restructuring of loops with conditional branching for parallel processing, especially a class of loops termed 'conditional cyclic loops.' A conditional cyclic loop possesses a dependence cycle caused by conditional branching across loop iterations, which makes it difficult to parallelize. In general, parallel execution of a conditional cyclic loop provides little benefit due to the need of solving a full-order nonlinear Boolean recurrence relation. However, the Boolean recurrence in practice is often of simpler forms. With the simpler forms, the number of possible predicate values of conditional branching is reduced drastically compared to a general conditional cyclic loop. These simple forms of conditional cyclic loops found in practice can be parallelized for O(p/log p) speedup with p processors.

UR - http://www.scopus.com/inward/record.url?scp=0029254741&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0029254741&partnerID=8YFLogxK

U2 - 10.1109/71.342131

DO - 10.1109/71.342131

M3 - Article

VL - 6

SP - 185

EP - 189

JO - IEEE Transactions on Parallel and Distributed Systems

JF - IEEE Transactions on Parallel and Distributed Systems

SN - 1045-9219

IS - 2

ER -