2007
DOI: 10.1109/pact.2007.4336219
|View full text |Cite
|
Sign up to set email alerts
|

Introducing Control Flow into Vectorized Code

Abstract: Single instruction multiple data (SIMD) functional units are ubiquitous in modern microprocessors. Effective use of these SIMD functional units is essential in achieving the highest possible performance. Automatic generation of SIMD instructions in the presence of control flow is challenging, however, not only because SIMD code is hard to generate in the presence of arbitrarily complex control flow, but also because the SIMD code executing the instructions in all control paths may slow compared to the scalar o… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
30
0

Year Published

2008
2008
2021
2021

Publication Types

Select...
4
3
2

Relationship

0
9

Authors

Journals

citations
Cited by 32 publications
(30 citation statements)
references
References 17 publications
0
30
0
Order By: Relevance
“…Shin [32] describes a similar dynamic branch-uniformity optimization called BOSCC (branches-on-superwordcondition-codes), but relies on predicate hierarchy graphs to nest regions that are covered by BOSCC to reduce runtime overhead of checking the uniformity of branch conditions. In contrast, we utilize the structural analysis to pick candidate SESE regions for runtime checks.…”
Section: Runtime Branch-uniformity Optimizationmentioning
confidence: 99%
See 1 more Smart Citation
“…Shin [32] describes a similar dynamic branch-uniformity optimization called BOSCC (branches-on-superwordcondition-codes), but relies on predicate hierarchy graphs to nest regions that are covered by BOSCC to reduce runtime overhead of checking the uniformity of branch conditions. In contrast, we utilize the structural analysis to pick candidate SESE regions for runtime checks.…”
Section: Runtime Branch-uniformity Optimizationmentioning
confidence: 99%
“…Vector-style architectures with a scalar+vector ISA employ a compiler-driven approach to divergence management [1,12,13,27,32,33]. In this model, the vector unit cannot execute branch instructions.…”
Section: Introductionmentioning
confidence: 99%
“…polyhedral techniques [5]) are applied. Other approaches exploit ILP in code that can contain control structures (like conditionals and loops) [18,19,32] for vectorization or vectorize a whole function [16]. Often, those approaches rely on preceding transformations that create this ILP.…”
Section: Related Workmentioning
confidence: 99%
“…Reintroducing Branches for Homogeneous Masks: For linearized regions, an optimization similar to branch-onsuperword-condition-codes (BOSCC) [6] can be applied. Such a technique reintroduces branches after linearization to skip blocks of instructions if a mask is true or false for all instances.…”
Section: E Cfg Linearizationmentioning
confidence: 99%