Title :
OpenCL Overview, Implementation, and Performance Comparison
Author :
Fraire, Juan A. ; Ferreyra, P. ; Marques, C.
Author_Institution :
Univ. Nac. de Cordoba, Cordoba, Argentina
Abstract :
High performance parallel computing was something exclusive for expensive specialized hardware some years ago. But now we can find powerful parallel processors in many home graphics card whose interface has been recently opened by many manufacturers for general purpose computing. OpenCL, created by the world most important processors manufacturers, went a little further, aiming for a platform and manufacturer independent parallel language. However, understanding this new processing paradigm is challenging and critical for future computation demanding applications. The first approach of this document is to provide a deep technical background of OpenCL architecture. Second, we propose an implementation of a matrix product calculation OpenCL kernel directly implemented in C++ without wrappers so as to describe in detail the OpenCL programming flow. Thirdly, different platforms and algebraic scenarios are created for this program concluding that the improvement of calculation performance can reach up to 3 orders of magnitude over the same algorithm in plain C++.
Keywords :
C++ language; parallel languages; C++; OpenCL architecture; OpenCL implementation; OpenCL overview; OpenCL programming flow; general purpose computing; high performance parallel computing; home graphics card; matrix product calculation OpenCL kernel; parallel language; parallel processors; performance comparison; Computational modeling; Graphics processing units; Kernel; Parallel processing; Random access memory; Silicon compounds; general purpose computing; heterogeneous systems; parallelism;
Journal_Title :
Latin America Transactions, IEEE (Revista IEEE America Latina)
DOI :
10.1109/TLA.2013.6502816