Title :
Automatically Tuned Dynamic Programming with an Algorithm-by-Blocks
Author :
Li, Jiajia ; Tan, Guangming ; Chen, Mingyu
Author_Institution :
Inst. of Comput. Technol., Chinese Acad. of Sci., Beijing, China
Abstract :
As the complexity of current computer architecture increases, domain-specific program generators are extensively used to implement performance portable libraries. Dynamic programming is a performance-critical kernel in many applications including engineering operations and bioinformatics. In this paper, we propose an Automatically Tuned Dynamic Programming (ATDP) to optimize performance of dynamic programming algorithm across various architectures. First, an algorithm-by-blocks for dynamic programming is designed to facilitate optimizing with well-known techniques including cache and register tiling. Further, the parameterized algorithm-by-blocks is cooperative with an auto-tuning framework and leverages a hill climbing algorithm to search the possible best program on a given platform. The experiments on two ×86 processors demonstrate that (i) the generated scalar programs improve performance by over 10 times, (ii) the vector programs further speedup the scalar ones by a factor of 4 and 2 for single-precision and double-precision, respectively.
Keywords :
dynamic programming; ATDP; algorithm-by-blocks; automatically tuned dynamic programming; autotuning framework; domain-specific program generator; hill climbing algorithm; performance-critical kernel; Algorithm-by-Blocks; Auto-tuning; Dynamic Programming; High Performance Computing; SIMD;
Conference_Titel :
Parallel and Distributed Systems (ICPADS), 2010 IEEE 16th International Conference on
Conference_Location :
Shanghai
Print_ISBN :
978-1-4244-9727-0
Electronic_ISBN :
1521-9097
DOI :
10.1109/ICPADS.2010.117