Program optimization carving for GPU computing?
Center for Reliable and High-Performance Computing, University of Illinois at Urbana-Champaign, 1308 W Main Street, Urbana, IL 61801, United States
Journal of Parallel and Distributed Computing In General-Purpose Processing using Graphics Processing Units, Vol. 68, No. 10. (October 2008), pp. 1389-1401
@article{ryoo2008program,
title={Program optimization carving for GPU computing},
author={Ryoo, S. and Rodrigues, C.I. and Stone, S.S. and Stratton, J.A. and Ueng, S.Z. and Baghsorkhi, S.S. and Hwu, W.W.},
journal={Journal of Parallel and Distributed Computing},
volume={68},
number={10},
pages={1389–1401},
issn={0743-7315},
year={2008},
publisher={Elsevier}
}
Contemporary many-core processors such as the GeForce 8800 GTX enable application developers to utilize various levels of parallelism to enhance the performance of their applications. However, iterative optimization for such a system may lead to a local performance maximum, due to the complexity of the system. We propose program optimization carving, a technique that begins with a complete optimization space and prunes it down to a set of configurations that is likely to contain the global maximum. The remaining configurations can then be evaluated to determine the one with the best performance. The technique can reduce the number of configurations to be evaluated by as much as 98% and is successful at finding a near-best configuration. For some applications, we show that this approach is significantly superior to random sampling of the search space.
December 11, 2010 by hgpu