Papers
Topics
Authors
Recent
Search
2000 character limit reached

Solving Dynamic Programming Problem by Pipeline Implementation on GPU

Published 5 Aug 2020 in cs.DC | (2008.01938v1)

Abstract: In this paper, we show the effectiveness of a pipeline implementation of Dynamic Programming (DP) on GPU. As an example, we explain how to solve a matrix-chain multiplication (MCM) problem by DP on GPU. This problem can be sequentially solved in O(n<sup>3)O(n<sup>3) steps by DP where nn is the number of matrices, because its solution table is of size n×nn \times n and each element of the table can be computed in O(n)O(n) steps. A typical speedup strategy for this is to parallelize the O(n)O(n) step computation of each element, which can be easily achieved by parallel prefix computation, i.e., an O(logn)O(\log n) step computation with nn threads in a tournament fashion. By such a standard parallelizing method, we can solve the MCM problem in O(n<sup>2</sup>logn)O(n<sup>2</sup> \log n) steps with nn threads. In our approach, we solve the MCM problem on GPU in a pipeline fashion, i.e., we use GPU cores for supporting pipeline-stages so that many elements of the solution table are partially computed in parallel at one time. Our implementation determines one output value per one computational step with nn threads in a pipeline fashion and constructs the solution table totally in O(n<sup>2)O(n<sup>2) steps with nn threads.

Summary

No one has generated a summary of this paper yet.

Paper to Video (Beta)

No one has generated a video about this paper yet.

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Continue Learning

We haven't generated follow-up questions for this paper yet.