Improving application behavior on heterogeneous manycore systems through kernel mapping
Albayrak, O. E.
Albayrak, O. E., Akturk, I., & Ozturk, O. (2013). Improving application behavior on heterogeneous manycore systems through kernel mapping. Parallel Computing, 39(12), 867-878.
Please cite this item using this persistent URLhttp://hdl.handle.net/11693/12686
Many-core accelerators are being more frequently deployed to improve the system processing capabilities. In such systems, application mapping must be enhanced to maximize utilization of the underlying architecture. Especially, in graphics processing units (GPUs), mapping kernels that are part of multi-kernel applications has a great impact on overall performance, since kernels may exhibit different characteristics on different CPUs and GPUs. While some kernels run faster on GPUs, others may perform better in CPUs. Thus, heterogeneous execution may yield better performance than executing the application only on a CPU or only on a GPU. In this paper, we investigate on two approaches: a novel profiling-based adaptive kernel mapping algorithm to assign each kernel of an application to the proper device, and a Mixed-Integer Programming (MIP) implementation to determine optimal mapping. We utilize profiling information for kernels on different devices and generate a map that identifies which kernel should run where in order to improve the overall performance of an application. Initial experiments show that our approach can efficiently map kernels on CPUs and GPUs, and outperforms CPU-only and GPU-only approaches. (C) 2013 Elsevier B.V. All rights reserved.