SIMD defragmenter: efficient ILP realization on data-parallel architectures
SIMD defragmenter: efficient ILP realization on data-parallel architectures
复制标题
SIMD 碎片整理程序:数据并行架构上的高效 ILP 实现
DOI:
--
复制
发表时间:
2012
期刊:
影响因子:
--
通讯作者:
S. Mahlke
中科院分区:
文献类型:
--
作者:
Yongjun Park;Sangwon Seo;Hyunchul Park;Hyoun Kyu Cho;S. Mahlke
Single-instruction multiple-data (SIMD) accelerators provide an energy-efficient platform to scale the performance of mobile systems while still retaining post-programmability. The central challenge is translating the parallel resources of the SIMD hardware into real application performance. In scientific applications, automatic vectorization techniques have proven quite effective at extracting large levels of data-level parallelism (DLP). However, vectorization is often much less effective for media applications due to low trip count loops, complex control flow, and non-uniform execution behavior. As a result, SIMD lanes remain idle due to insufficient DLP. To attack this problem, this paper proposes a new vectorization pass called SIMD Defragmenter to uncover hidden DLP that lurks below the surface in the form of instruction-level parallelism (ILP). The difficulty is managing the data packing/unpacking overhead that can easily exceed the benefits gained through SIMD execution. The SIMD degragmenter overcomes this problem by identifying groups of compatible instructions (subgraphs) that can be executed in parallel across the SIMD lanes. By SIMDizing in bulk at the subgraph level, packing/unpacking overhead is minimized. On a 16-lane SIMD processor, experimental results show that SIMD defragmentation achieves a mean 1.6x speedup over traditional loop vectorization and a 31% gain over prior research approaches for converting ILP to DLP.