The need for more efficient, more abstract and easier to use parallel programming interfaces has been recently intensified with the introduction and remarkable evolution of technologies such as the General Purpose Graphics Processing Units (GPG-PUs) and multi-core Central Processing Units (CPUs). In the present paper we present the introduction of the uBlasCL system as a Domain Specific Embedded Language within C++ that implements a Basic Linear Algebra Interface for OpenCL. The system is architecture agnostic, in the sense that it can be programmed independently of the targeted architecture, is massively parallel, and achieves efficiency that tracks well the increase in hardware performance advances. Our effort is based on the utilization of template metaprogramming and domain specific languages fundamentals, for developing a system that has the syntactic flexibility of a symbolic term processing system for expressing mathematics, and the semantic and executional power to exploit the parallelism offered by the hardware in an automated, transparent to the user, and efficiently mapped on the hardware manner. We also describe its relation to C++, template programming, domain specific languages and OpenCL. In the effort to develop uBlasCL we also developed a middleware library named CL++, as a convenient C++ interface to OpenCL. After the architectural and the implementation descriptions of the system, we present performance testing results demonstrating its potential power.
- Design Engineering Division and Computers and Information in Engineering Division
uBlasCL: Architecture Agnostic Massively Parallel Linear Algebra System
- Views Icon Views
- Share Icon Share
- Search Site
Iliopoulos, A, & Michopoulos, JG. "uBlasCL: Architecture Agnostic Massively Parallel Linear Algebra System." Proceedings of the ASME 2011 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference. Volume 2: 31st Computers and Information in Engineering Conference, Parts A and B. Washington, DC, USA. August 28–31, 2011. pp. 357-370. ASME. https://doi.org/10.1115/DETC2011-48228
Download citation file: