OpenCL Performance Evaluation on Modern Multi Core CPUs
School of Computer Science, College of Computing, Georgia Institute of Technology, Atlanta, GA, USA
Multicore and GPU Programming Models, Languages and Compilers Workshop (PLC 2013), 2013
@article{lee2013opencl,
title={OpenCL Performance Evaluation on Modern Multi Core CPUs},
author={Lee, Joo Hwan and Patel, Kaushik and Nigania, Nimit and Kim, Hyojong and Kim, Hyesoon},
year={2013}
}
Utilizing heterogeneous platforms for computation has become a general trend making the portability issue important. OpenCL (Open Computing Language) serves the purpose by enabling portable execution on heterogeneous architectures. However, unpredictable performance variation on different platforms has become a burden for programmers who write OpenCL programs. This is especially true for conventional multicore CPUs, since the performance of general OpenCL applications on CPUs lags behind the performance expected by the programmer considering the conventional parallel programming model. In this paper, we evaluate the performance of OpenCL programs on out-of-order multicore CPUs from the architectural perspective. We evaluate OpenCL programs on various aspects, including scheduling overhead, instruction-level parallelism, address space, data location, locality, and vectorization, comparing OpenCL to conventional parallel programming models for CPUs. Our evaluation indicates different performance characteristic of OpenCL programs and also provides insight into the optimization metrics for better performance on CPUs.
May 25, 2013 by hgpu