DocumentCode
2243812
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
fYear
2010
fDate
8-10 Dec. 2010
Firstpage
452
Lastpage
459
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;
fLanguage
English
Publisher
ieee
Conference_Titel
Parallel and Distributed Systems (ICPADS), 2010 IEEE 16th International Conference on
Conference_Location
Shanghai
ISSN
1521-9097
Print_ISBN
978-1-4244-9727-0
Electronic_ISBN
1521-9097
Type
conf
DOI
10.1109/ICPADS.2010.117
Filename
5695635
Link To Document