Juan A. Fraire

Researcher in Space Networking and Informatics

Inria CONICET Saarland University

Publications Journal article · 2013

OpenCL overview, implementation, and performance comparison

Juan A. Fraire, Alejandro Ferreyra, and Carlos Marques

IEEE Latin America Transactions, vol. 11, no. 1, pp. 274–280, 2013

Read on CONICET DigitalfreePublisher’s version

ShareLinkedInXBlueskyEmail

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++.

Cite

DOI 10.1109/tla.2013.6502816

BibTeX
@article{fraire2013opencl,
  author    = {Fraire, Juan A. and Ferreyra, Alejandro and Marques, Carlos},
  title     = {OpenCL overview, implementation, and performance comparison},
  journal   = {IEEE Latin America Transactions},
  volume    = {11},
  number    = {1},
  pages     = {274--280},
  publisher = {IEEE},
  year      = {2013},
  doi       = {10.1109/tla.2013.6502816}
}