User Tools

Site Tools


2015-viennacl-mobile-hardware

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
2015-viennacl-mobile-hardware [2015/03/09 13:03]
viennastar created
2015-viennacl-mobile-hardware [2015/04/06 15:28] (current)
viennastar [ViennaCL: Target-Specific Tuning on Mobile (Smartphone and Tablet) Hardware]
Line 5: Line 5:
  
 === Description === === Description ===
-The linear algebra routines in ViennaCL are primarily optimized for discrete GPUs from AMD and NVIDIA. ​However, OpenCL has also made significant progress on mobile hardware recently.+The linear algebra routines in [[http://​viennacl.sourceforge.net/​|ViennaCL]] are primarily optimized for discrete GPUs from AMD and NVIDIA. ​At the same timethe open standard [[https://​www.khronos.org/​opencl/​|OpenCL]] used by ViennaCL ​has also made significant progress on mobile hardware recently.
 The aim of this project is to optimize our routines for mobile GPUs from Qualcomm, ARM, and NVIDIA (Tegra). The aim of this project is to optimize our routines for mobile GPUs from Qualcomm, ARM, and NVIDIA (Tegra).
  
 === Benefit for the Student === === Benefit for the Student ===
-The student will learn the subtle differences between mobile hardware and desktop hardware. He or she will get precious hands-on experience with latest mobile hardware.+The student will learn the subtle differences between mobile hardware and desktop hardware. Also, the limitations of modern computing hardware in terms of power consumptions will be experienced in a hands-on manner. He or she will get precious hands-on experience with latest mobile hardware.
  
 === Benefit for the Project === === Benefit for the Project ===
-The performance in ViennaCL becomes more portable, so that the user can rely on high performance irrespective of the underlying hardware.+The performance in ViennaCL becomes more portable, so that the user can rely on high performance irrespective of the underlying ​hardware. Also, some of our implementations will become the first available routines explicitly tuned for mobile ​hardware.
  
 === Requirements === === Requirements ===
-Solid Linux knowledge and basic knowledge of C and C++ is a must. Experience with single board computers such as the Rasperry Pi is a plus.+Solid Linux knowledge and basic knowledge of C and C++ is a must. Experience with OpenCL, CUDA, or single board computers such as the Rasperry Pi is a plus.
  
-=== Mentors ​=== +=== Primary Mentor ​=== 
-Karl Rupp, TBD+Karl Rupp 
 + 
 +=== Puzzles === 
 + 
 +The task is to write one or more OpenCL kernels using the convenience wrappers provided by ViennaCL to find the character with highest ASCII code in a sequence ('​vector<​char>'​ in ViennaCL. **UPDATE Apr 62015: Unfortunately there is a bug in the current ViennaCL which prohibits the use of vector<​char>​. Please use vector<​int>​ instead for a sequence of integers.**) of characters. For example, the character with highest ASCII code in “ABRACADRABRA” is '​R'​. Come up with a good, fast and correct algorithm by extending the [[https://​github.com/​viennacl/​viennacl-dev/​blob/​master/​examples/​tutorial/​custom-kernels.cpp|Custom OpenCL kernels example]] provided with ViennaCL. 
 + 
 +Contact rupp_AT_iue.tuwien.ac.at or stop by at the institute if you have questions. Submit the code and a performance plot for different sequence lenghts with your application.
  
2015-viennacl-mobile-hardware.1425906188.txt.gz · Last modified: 2015/03/09 13:03 by viennastar