Description
The C++ Standard Template Library (STL) defines a set of basic algorithms such as sort().
Such functionality is, where reasonable, provided for NVIDIA GPUs with thrust, but there is no extensive and independent implementation available in OpenCL. Thus, the goal of this project is to implement some of the most popular algorithms from the C++ STL for GPUs in ViennaCL.
Benefit for the Student
Fame and glory! :-) Invaluable experience in programming a robust high-level interface for targeting CPUs and GPUs on the low level will be gained.
Benefit for the Project
Providing efficient STL-type functionality will enable a lot of additional algorithms with portable performance to be added to ViennaCL in the future. In addition, users can easily compose operations not natively provided by the library.
Requirements
Advanced knowledge of C++ is essential, including familiarity with meta-programming techniques. Experience with GPU programming is a plus.
Mentors
Contact
Mentors are regularly around in our GSoC IRC channel #TU-CSE-SoC at irc.freenode.net. 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
http://www.iue.tuwien.ac.at/cse/wiki/doku.php?id=gpu-accelerated_stl_functionality