Loading...
Please wait, while we are loading the content...
Similar Documents
Vectorization past dependent branches through speculation.
| Content Provider | CiteSeerX |
|---|---|
| Author | Sujon, Majedul Haque Whaley, R. Clint Yi, Qing |
| Abstract | Abstract—Modern architectures increasingly rely on SIMD vectorization to improve performance for floating point intensive scientific applications. However, existing compiler optimization techniques for automatic vectorization are inhibited by the pres-ence of unknown control flow surrounding partially vectorizable computations. In this paper, we present a new approach, spec-ulative vectorization, which speculates past dependent branches to aggressively vectorize computational paths that are expected to be taken frequently at runtime, while simply restarting the calculation using scalar instructions when the speculation fails. We have integrated our technique in an iterative optimizing compiler and have employed empirical tuning to select the profitable paths for speculation. When applied to optimize 9 floating-point benchmarks, our optimizing compiler has achieved up to 6.8X speedup for single precision and 3.4X for double precision kernels using AVX, while vectorizing some operations considered not vectorizable by prior techniques. Index Terms—SIMD Vectorization, speculation, compiler op-timization, iterative compilation, ATLAS, iFKO. I. |
| File Format | |
| Access Restriction | Open |
| Subject Keyword | Vectorization Past Dependent Branch Unknown Control Flow Double Precision Kernel New Approach Floating-point Benchmark Simd Vectorization Compiler Optimization Technique Computational Path Iterative Optimizing Compiler Prior Technique Scalar Instruction Single Precision Spec-ulative Vectorization Dependent Branch Automatic Vectorization Point Intensive Scientific Application Index Term Simd Vectorization Vectorizable Computation Profitable Path Abstract Modern Iterative Compilation Empirical Tuning |
| Content Type | Text |