In case you’ve been living under a rock, let us bring you up to speed. The face of High Performance Computing (HPC), previously dominated by large numbers of CPU cores with high speed interconnect (such as Infiniband) has changed much in recent times. This remarkable change isn’t due to a breakthrough in CPU technology (as such), but through the rise of an existing technology newly applied to HPC. To many of you, this technology may be completely alien. If you count yourself as being “young at heart,” then I might be safe in assuming you will be very familiar with it. Of course, I am talking about the Graphics Processing Unit, or GPU.
Not Just for Gaming
The contemporary graphics card brings back memories of endless hours of Quake, Half Life and other 3D first person shooting games which pushed the (then) hardware to the limit. Those of you who have played these games or have tried writing “software” rendering engines, which use the CPU to perform the coordinate transformations and draw the image on the screen, know that what these graphics cards do is nothing short of amazing. Capable of performing billions of computations per second, these devices are pushed to the limits by the relentless gaming community and the millions of dollars they have in their pockets. In retrospect, it was only a matter of time before a gaming enthusiast managed to get a PhD in science or engineering and realized how these devices could be applied to their research fields. And, of course, only a matter of time before the manufactures realized this trend as well.
Dedicated to Computation Graphics
Currently, a very large amount of researchers, all over the world, have applied GPU to their research. The NCHC is no exception to this rule, and has purchased a very large number of GPGPU devices to apply on research and academia services. The NCHC’s self-built cluster computing system, possesses 88 nodes, 264 computing accelerator cards, and InfiniBand 40Gb/s interconnection. Presently, it is Taiwan’s largest GPU cluster computer with more than 70 GFLOPS computing capability. The NCHC’s research team has invested a lot of time and effort to develop special algorithms to take advantage of the power of GPU, and has received certain achievements.
Turbulent Flow Simulation for a Dollar
The study of turbulent flow is famously associated with extreme computational expense. The high resolution of solutions, required to reduce the numerical dissipation to “tolerable” levels, have lead to simulation times in the months or years, on conventional computer clusters. So NCHC has developed various numerical tools for application to GPU acceleration. Using multiple GPU’s, we are able to complete simulations of turbulent gas flows with hundreds of millions of cells in hours – whereas a single CPU would require almost two years to perform the same simulation. Even assuming perfect parallelization, we’d still need about 2,000 dedicated cores in a supercomputer cluster to keep up with 32 GPU devices. This achievement (among others) led to the selection of NCHC staff to be Nvidia’s Asia GTC 2010 Keynote speakers, and to the commencement of various international collaborations with researchers all over the planet.
No such thing as a free lunch
Currently, there isn’t a magical compiler or program that will take your old code and magically make it run beautifully on GPU. The GPU card is designed to perform a large number of simple computations on a very large number of different data elements – this is what it was originally designed to do when it was busy drawing the graphics for games, and is known as single instruction multiple data (SIMD) parallelization. When you write your simulation code, every time you deviate from the SIMD model, you are walking one step further away from the “embarrassingly parallel” goal of GPU computing. This places most people in a predicament. Often, the very fundamentals of the method being prepared for GPU are ill-suited for the task. However, wherever there is hardship, there is opportunity.
The Future of GPU Computing
Now is the time for young students to master their understanding of numerical analysis and apply it to the development of novel algorithms specifically targeted at GPU computation. For those concerned about the future of GPU – as long as there are computer gamers demanding more from GPU devices and who are willing to pay for it, there will be GPU computing. Thanks to GPU, more people around the world have access to HPC facilities, meaning a growth in the scope of numerical analysis and a brighter future for the art of simulation in science and engineering.