GPU 성능 향상을 위한 지연시간 숨김 기반 워프 스케줄링
Latency Hiding based Warp Scheduling Policy for High Performance GPUs
2
조회
0
다운로드
2
인용
0
참고문헌
키워드
초록
LRR(Loose Round Robin) warp scheduling policy for GPU architecture results in high warp-level parallelism and balanced loads across multiple warps. However, traditional LRR policy makes multiple warps execute long latency operations at the same time. In cases that no more warps to be issued under long latency, the throughput of GPUs may be degraded significantly. In this paper, we propose a new warp scheduling policy which utilizes latency hiding, leading to more utilized memory resources in high performance GPUs. The proposed warp scheduler prioritizes memory instruction based on GTO(Greedy Then Oldest) policy in order to provide reduced memory stalls. When no warps can execute memory instruction any more, the warp scheduler selects a warp for computation instruction by round robin manner. Furthermore, our proposed technique achieves high performance by using additional information about recently committed warps. According to our experimental results, our proposed technique improves GPU performance by 12.7% and 5.6% over LRR and GTO on average, respectively.
Abstract
LRR(Loose Round Robin) warp scheduling policy for GPU architecture results in high warp-level parallelism and balanced loads across multiple warps. However, traditional LRR policy makes multiple warps execute long latency operations at the same time. In cases that no more warps to be issued under long latency, the throughput of GPUs may be degraded significantly. In this paper, we propose a new warp scheduling policy which utilizes latency hiding, leading to more utilized memory resources in high performance GPUs. The proposed warp scheduler prioritizes memory instruction based on GTO(Greedy Then Oldest) policy in order to provide reduced memory stalls. When no warps can execute memory instruction any more, the warp scheduler selects a warp for computation instruction by round robin manner. Furthermore, our proposed technique achieves high performance by using additional information about recently committed warps. According to our experimental results, our proposed technique improves GPU performance by 12.7% and 5.6% over LRR and GTO on average, respectively.
참고문헌 (18)
- NVIDIA, "CUDA C Programming Guide", ~ (2012)
- Khronos OpenCL Group, "The OpenCL Specification", ~ (2011)
- T. G. Rogers., "Cache-conscious wavefront scheduling", Proceedings of the 45th Annual IEEE, 2012, 72~83
- T. G. Rogers, "Divergence-aware Warp Scheduling", Proceedings of the 46th Annual IEEE, 2013, 99~110
- Kim, "International Conference on Parallel and Distributed Computing: Applications and Technologies", International Conference on Parallel and Distributed Computing: Applications and Technologies, pp.230~239 (2018), Springer
- Zhang, Y, "Locality based warp scheduling in GPGPUs", Future Generation Computer Systems, 82, pp.520~527 (2018)
- ElTantawy, A., "Warp scheduling for fine-grained synchronization", 2018 IEEE International Symposium on High Performance Computer Architecture (HPCA), pp.375~388 (2018)
- Oh, Yunho, "Adaptive Cooperation of Prefetching and Warp Scheduling on GPUs", IEEE Transactions on Computers, 68(4), pp.609~616 (2019)
- V. Narasiman, "Improving GPU performance via large warps and two-level warp scheduling", Proceedings of the 44th Annual IEEE, 2011, 308~317
- S. Y. Lee, "CAWA : Coordinated warp scheduling and Cache Prioritization for critical warp acceleration of GPGPU workloads", ACM SIGARCH Computer Architecture (ISCA), pp.515~527 (2015)
- M. Lee, "iPAWS : Instruction-issue pattern-based adaptive warp scheduling for GPGPUs", High Performance Computer Architecture (HPCA), IEEE International Symposium on, pp.370~381 (2016)
- M. K. Yoon, "Draw : investigating benefits of adaptive fetch group size on gpu", Performance Analysis of Systems and Software (ISPASS), pp.183~192 (2015)
- A. Bakhoda, "Analyzing CUDA Workloads Using a Detailed GPU Simulator", Proceedings of IEEE International Symposium on Performance Analysis of Systems and Software, pp.163~174 (2009)
- "NVIDIA CUDA SDK Code Samples" (2015)[URL]
- S. Che, "Rodinia : A Benchmark Suite for Heterogeneous Computing", Proceedings of the International Symposium on Workload Characterization (IISWC), pp.44~54 (2009)
- S. Grauer-Gray, "Auto-tuning a high-level language targeted to gpu codes", Innovative Parallel Computing (InPar), pp.1~10 (2012)
- Parboil:A Revised Benchmark Suite for Scientific and Commercial Throughput Computing, "J. A. Stratton", Center for Reliable and High-Performance Computing, ~ (2012)
- M. Gebhart, "A hierarchical thread scheduler and register file for energy-efficient throughput processors", ACM Transactions on Computer Systems (TOCS), 30(2) (2012)
