Last week Andrew Lewis attended an honours course in GPGPU programming. The course was hosted and organised by UCT's computer science department and funded by the SKA. We were very privileged to have as our lecturers John Stone who is the Associate Director of the CUDA Center of Excellence at University of Illinois and Associate Professor Manuel Ujaldón from the University of Malaga. Both are also NVIDIA CUDA Fellows.
The course covered introductory programming and architecture of CUDA cards, new GPU technologies such as dynamic parallelism as well as more advanced tricks and techniques for saving both time as well as electrical power, the latter being of great importance when writing code for portable devices as well as considering power consumption of extremely large data centres.
As we reach the limits of our manufacturing technology where physical track sizes on the chips can be measured in 10's of atoms our ability to achieve significant speed-ups decrease (in 2006 it was estimated that CPU speeds in 2013 would be around 7GHz). GPGPU technology is a way around this barrier provided there are programmers capable of taking advantage of these computing paradigms.
Both lecturers gave extremely interesting glimpses into the future of GPU computing; the upcoming release of Maxwell, the successor to the NVIDIA Kepler card and the future Volta card, all of which ofer more capabilities at lower power. The integration of HMC memory into GPU chips will also surmount the issue of memory transfer latency. It is estimated that the stacked DRAM in the Volta card will have transfer rates in the order of 1TB/s.