Thursday, August 1, 2013

Boosting simulation performance with GPU computing

GPUs (graphical processing units) were originally designed for generating video graphics, but their high memory bandwidth and the ability to perform calculations in parallel very quickly made them attractive to scientific and engineering users. GPU cards typically have hundreds of parallel cores, along with several gigabytes of on-board RAM. The memory bandwidth for GPUs is much higher – a Tesla K20 has a bandwidth of 208 GB/s, while the widely-used DDR3-1333 RAM in a quad-channel configuration offers just 51.2 GB/s – and this leads to significant speed advantages in certain situations.

CST STUDIO SUITE® supports GPU acceleration with the Nvidia® Tesla series of GPUs for the transient solver, the integral equation solver and the PIC solver. Multiple GPU cards can be used together for even greater speed-ups – either combined in one machine or distributed across a cluster – although PIC solver currently only supports one GPU per simulation. As part of an oPAC research network project, we’re currently developing a multi-GPU PIC solver, so watch this space!

One advantage of GPU computing is that it is very scalable. GPU cards are available for a wide range of computer types, from individual workstations up to servers for computing clusters. Distributed computing (DC) can both take advantage of GPU computing, as can MPI computing with the transient solver. The acceleration tokens in CST STUDIO SUITE can be used to choose the best combination of HPC techniques for each simulation. For further information about acceleration tokens, see the licensing guide.

The next blog post in this series will discuss MPI computing in more detail, and show how it can be used to simulate problems that are beyond the capabilities of a single computer.

No comments:

Post a Comment