Welcome to the GPU assignment of 5kk73 Embedded Computer Architecture! The purpose of this assignment is to get familiar with the modern GPU architecture and its programming model. Considering the availability of hardware and documentation, the NVIDIA GPU and the CUDA language will be supported in this assignment.
If you have the latest TU/e student notebook with an ATI GPU, you can choose to do the assignment using the ATI GPU and the OpenCL language. However, we can not provide supporting materials and code samples for ATI GPU and OpenCL language. You are on your own to set up the ATI Stream SDK environment on your machine and to study the OpenCL code samples. In this case, you have to look for resources outside this website. In the learning materials page, there are a few pointers to the ATI GPU and the OpenCL language. If you find it difficult to go through these procedures on your own, it is recommended to use the server with NVIDIA GPU.
You can get an account at the secretary's office (PT 9.24) to use the CUDA PC we provide . The user name starts with "5kk73gpu". Make sure you get the right one!
Important: Please frequently backup your data on the CUDA PC to your own machine. We do not make any back up of the hard disk.
If you are new to CUDA, go to preparation page and see how to get started.
Some learning materials are available here. After learning these materials, you should understand the essentials of GPU programming using CUDA and be able to write some GPU programs.
When porting the serial code to GPU, you may find that the performance is not as good as you expected. That's because the architecture and programming model of the GPU is very different from common CPU and it requires extra effort to write a good GPU program. The example page contains examples that show you several important optimization techniques for GPU programming. Please read it carefully.
If you have any question, please feel free to contact Dongrui She, at PT 9.19, email: d.she _at_ tue.nl.