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.