并行计算
SIMD公司
计算机科学
数据并行性
指令级并行
平行性(语法)
架空(工程)
编译程序
任务并行性
水准点(测量)
隐式并行
矢量化(数学)
程序设计语言
大地测量学
地理
标识
DOI:10.1145/2854038.2854054
摘要
Existing loop vectorization techniques can exploit either intra- or inter-iteration SIMD parallelism alone in a code region if one part of the region vectorized for one type of parallelism has data dependences (called mixed-parallelism-inhibiting dependences) on the other part of the region vectorized for the other type of parallelism. In this paper, we consider a class of loops that exhibit both types of parallelism (i.e., mixed SIMD parallelism) in its code regions that contain mixed-parallelism-inhibiting data dependences. We present a new compiler approach for exploiting such mixed SIMD parallelism effectively by reducing the data reorganization overhead incurred when one type of parallelism is switched to the other. Our auto-vectorizer is simple and has been implemented in LLVM (3.5.0). We evaluate it on seven benchmarks with mixed SIMD parallelism selected from SPEC and NAS benchmark suites and demonstrate its performance advantages over the state-of-the-art.
科研通智能强力驱动
Strongly Powered by AbleSci AI