viennacl gemmDescription

Current vendor libraries for basic linear algebra operations (BLAS) use a C-style function interface. Even though a high-level approach such as ViennaCL requires much clearer and less error-prone code, the availability of a C-style interface for the various operations will aid potential users who are required to stick with C or Fortran. Also, this would be the first BLAS library with portable high performance on hardware from different vendors.

Benefit for the Student

The student will learn about the challenges of GPU and accelerators programming and how to write and maintain shared libraries for multiple platforms.

Benefit for the Project

ViennaCL will be the first project to offer a low-level BLAS library for GPUs and accelerators explicitly targeting multiple vendors and providing high performance on each of them.


A solid understanding of C and C++ is required. Ideally, the student has some experience with CMake and shared libraries on multiple platforms, particularly Windows and Linux.


Karl Rupp, Philippe Tillet


Mentors are regularly around in our GSoC IRC channel #TU-CSE-SoC at You can also reach us via the mailinglist – send an email to This email address is being protected from spambots. You need JavaScript enabled to view it. using the prefix [VIENNACL] (a subscription is required).

More information