TY - GEN
T1 - Optimizing dynamic programming on graphics processing units via adaptive thread-level parallelism
AU - Wu, Chao Chin
AU - Ke, Jenn Yang
AU - Lin, Heshan
AU - Feng, Wu Chun
PY - 2011/12/1
Y1 - 2011/12/1
N2 - Dynamic programming (DP) is an important computational method for solving a wide variety of discrete optimization problems such as scheduling, string editing, packaging, and inventory management. In general, DP is classified into four categories based on the characteristics of the optimization equation. Because applications that are classified in the same category of DP have similar program behavior, the research community has sought to propose general solutions for parallelizing each category of DP. However, most existing studies focus on running DP on CPU-based parallel systems rather than on accelerating DP algorithms on the graphics processing unit (GPU). This paper presents the GPU acceleration of an important category of DP problems called nonserial polyadic dynamic programming (NPDP). In NPDP applications, the degree of parallelism varies significantly in different stages of computation, making it difficult to fully utilize the compute power of hundreds of processing cores in a GPU. To address this challenge, we propose a methodology that can adaptively adjust the thread-level parallelism in mapping a NPDP problem onto the GPU, thus providing sufficient and steady degrees of parallelism across different compute stages. We realize our approach in a real-world NPDP application - the optimal matrix parenthesization problem. Experimental results demonstrate our method can achieve a speedup of 13.40 over the previously published GPU algorithm.
AB - Dynamic programming (DP) is an important computational method for solving a wide variety of discrete optimization problems such as scheduling, string editing, packaging, and inventory management. In general, DP is classified into four categories based on the characteristics of the optimization equation. Because applications that are classified in the same category of DP have similar program behavior, the research community has sought to propose general solutions for parallelizing each category of DP. However, most existing studies focus on running DP on CPU-based parallel systems rather than on accelerating DP algorithms on the graphics processing unit (GPU). This paper presents the GPU acceleration of an important category of DP problems called nonserial polyadic dynamic programming (NPDP). In NPDP applications, the degree of parallelism varies significantly in different stages of computation, making it difficult to fully utilize the compute power of hundreds of processing cores in a GPU. To address this challenge, we propose a methodology that can adaptively adjust the thread-level parallelism in mapping a NPDP problem onto the GPU, thus providing sufficient and steady degrees of parallelism across different compute stages. We realize our approach in a real-world NPDP application - the optimal matrix parenthesization problem. Experimental results demonstrate our method can achieve a speedup of 13.40 over the previously published GPU algorithm.
UR - http://www.scopus.com/inward/record.url?scp=84863016584&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84863016584&partnerID=8YFLogxK
U2 - 10.1109/ICPADS.2011.92
DO - 10.1109/ICPADS.2011.92
M3 - Conference contribution
AN - SCOPUS:84863016584
SN - 9780769545769
T3 - Proceedings of the International Conference on Parallel and Distributed Systems - ICPADS
SP - 96
EP - 103
BT - Proceedings - 2011 17th IEEE International Conference on Parallel and Distributed Systems, ICPADS 2011
T2 - 2011 17th IEEE International Conference on Parallel and Distributed Systems, ICPADS 2011
Y2 - 7 December 2011 through 9 December 2011
ER -