A Time Optimal Parallel Algorithm for the Dynamic Programming on the Hierarchical Memory Machine

The Hierarchical Memory Machine (HMM) is a theoretical parallel computing model that captures the essence of architecture of CUDA-enabled GPUs. The main contribution of this paper is to present an efficient implementation of the O (n3) time dynamic programming algorithm for solving the optimal trian...

Full description

Saved in:
Bibliographic Details
Published in2014 Second International Symposium on Computing and Networking pp. 86 - 95
Main Author Nakano, Koji
Format Conference Proceeding
LanguageEnglish
Japanese
Published IEEE 01.12.2014
Subjects
Online AccessGet full text
ISSN2379-1888
DOI10.1109/CANDAR.2014.14

Cover

Loading…
More Information
Summary:The Hierarchical Memory Machine (HMM) is a theoretical parallel computing model that captures the essence of architecture of CUDA-enabled GPUs. The main contribution of this paper is to present an efficient implementation of the O (n3) time dynamic programming algorithm for solving the optimal triangulation problem for a convex n-gon in the HMM. Although the HMM can run a lot of threads in parallel, it is very hard to accelerate computation involving complicated memory access such as the dynamic programming for the optimal triangulation problem. It is often the case that the acceleration rate is limited to the bandwidth w of the global memory for problems involving complicated stride memory access. Quite surprisingly, our implementation of the dynamic programming algorithm for solving the optimal triangulation problem runs O (n 3 /w 2 ) time units using max (wL, w 2 l) threads on the HMM with bandwidth w, global memory latency L and shared memory latency l. Hence, this parallel algorithm achieves the acceleration rate of more than w although the dynamic programming algorithm involves complicated stride memory access. Also, we prove that this parallel algorithm is time optimal when L = O (wl).
ISSN:2379-1888
DOI:10.1109/CANDAR.2014.14