Affiliation:
1. The University of Texas at Austin
Abstract
Current GPUs maintain high programmability by abstracting the SIMD nature of the hardware as independent concurrent threads of control with hardware responsible for generating predicate masks to utilize the SIMD hardware for different flows of control. This dynamic masking leads to poor utilization of SIMD resources when the control of different threads in the same SIMD group diverges. Prior research suggests that SIMD groups be formed dynamically by compacting a large number of threads into groups, mitigating the impact of divergence. To maintain hardware efficiency, however, the alignment of a thread to a SIMD lane is fixed, limiting the potential for compaction. We observe that control frequently diverges in a manner that prevents compaction because of the way in which the fixed alignment of threads to lanes is done. This paper presents an in-depth analysis on the causes for ineffective compaction. An important observation is that in many cases, control diverges because of programmatic branches, which do not depend on input data. This behavior, when combined with the default mapping of threads to lanes, severely restricts compaction. We then propose SIMD lane permutation (SLP) as an optimization to expand the applicability of compaction in such cases of lane alignment. SLP seeks to rearrange how threads are mapped to lanes to allow even programmatic branches to be compacted effectively, improving SIMD utilization up to 34% accompanied by a maximum 25% performance boost.
Publisher
Association for Computing Machinery (ACM)
Reference41 articles.
1. GPGPU-Sim. http://www.gpgpu-sim.org. GPGPU-Sim. http://www.gpgpu-sim.org.
2. GPGPU-Sim Manual. http://www.gpgpu-sim.org/manual. GPGPU-Sim Manual. http://www.gpgpu-sim.org/manual.
3. Conversion of control dependence to data dependence
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Massively Parallel Rule-Based Interpreter Execution on GPUs Using Thread Compaction;International Journal of Parallel Programming;2020-06-24
2. A Lightweight Method for Handling Control Divergence in GPGPUs;Proceedings of the International Conference on High Performance Computing in Asia-Pacific Region;2019-01-14
3. A Study on L1 Data Cache Bypassing Methods for High-Performance GPUs;Parallel and Distributed Computing, Applications and Technologies;2019
4. Regless;Proceedings of the 50th Annual IEEE/ACM International Symposium on Microarchitecture;2017-10-14