Solving Dynamic Programming Problem by Pipeline Implementation on GPU

08/05/2020
by   Susumu Matsumae, et al.
0

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^3) steps by DP where n is the number of matrices, because its solution table is of size n × n and each element of the table can be computed in O(n) steps. A typical speedup strategy for this is to parallelize the O(n) step computation of each element, which can be easily achieved by parallel prefix computation, i.e., an O(log n) step computation with n threads in a tournament fashion. By such a standard parallelizing method, we can solve the MCM problem in O(n^2 log n) steps with n 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 n threads in a pipeline fashion and constructs the solution table totally in O(n^2) steps with n threads.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/23/2021

Deep Policy Dynamic Programming for Vehicle Routing Problems

Routing problems are a class of combinatorial problems with many practic...
research
06/05/2022

Modeling GPU Dynamic Parallelism for Self Similar Density Workloads

Dynamic Parallelism (DP) is a runtime feature of the GPU programming mod...
research
03/21/2020

DP-Net: Dynamic Programming Guided Deep Neural Network Compression

In this work, we propose an effective scheme (called DP-Net) for compres...
research
10/29/2014

Extended Dynamic Programming and Fast Multidimensional Search Algorithm for Energy Minization in Stereo and Motion

This paper presents a novel extended dynamic programming approach for en...
research
12/08/2021

A PTAS for the Min-Max Euclidean Multiple TSP

We present a polynomial-time approximation scheme (PTAS) for the min-max...
research
02/23/2020

Speeding up the AIFV-2 dynamic programs by two orders of magnitude using Range Minimum Queries

AIFV-2 codes are a new method for constructing lossless codes for memory...
research
02/19/2021

Learning to Stop with Surprisingly Few Samples

We consider a discounted infinite horizon optimal stopping problem. If t...

Please sign up or login with your details

Forgot password? Click here to reset