In the April story 'GPUs Gaining on Power' we discussed differences between a
CPU and GPU. We also discussed about the capabilities of a GPU, their usage in
the scientific field and more. We further discussed NVIDIA's CUDA, which is a
parallel computing architecture that enables software developers, scientists &
researchers to perform complex tasks, and about GPUs that support CUDA. In this
article we measure the performance provided by a GPU and how it compares to a
CPU. We performance difference between a CPU and GPU was tested on Tyrone's
Supermicro Super Server that we got for review in our labs. This powerful
machine has three NVIDIA Tesla C1060 GPU cards along with two Intel 64-bit Xeon
processors (5600 & 5500 series). For more information about the Tyrone's super
server, you can visit the website http://bit.ly/dthq8N.
|
We used NVIDIA's Tesla Bio Workbench that consists of Life Sciences
applications. Some of the applications available for CUDA consist of Amber 10,
NAMD, aceMD, VMD, GROMACS, etc.
Tesla Bio Workbench and Amber 10
The Tesla Bio workbench is designed for biophysicists and computational
chemists, and allows them to run complex bioscience codes. These codes run 10-20
times more faster and are used in DNA sequencing and drug discovery fields. The
applications that are specifically designed to accelerate the computational
tasks can be deployed on GPU based supercomputers or in data center solutions.
There can be several definitions for Amber. A few millions of years back it
was considered as a fossilized resin. But in today's biotechnology world, Amber
plays a very important role. It refers to: a package of molecular simulation
programs; and the molecular mechanical force fields. This set of molecular
mechanical force fields is basically used for the simulation of biomolecules
while the molecular simulation package includes demos and source codes. Amber 10
is a paid version and all the necessary compilers require licenses in order to
evaluate them. Some of the compilers required for compiling Amber 10 are gcc-Fortran,
ICC, Open MPI which is used for parallel processing, etc. There are two binary
files for GPU and CPU that are also required during the compilation process. For
GPU it is 'pmemd.CUDA' and for CPU it is 'pmemd_mpi'.
We tested the Super Server, which had Cent OS 5.3 OS, with two benchmarks:
TRPcage & Myoglobin. These are used by scientists in molecular biology
calculations and require extremely high processing power. The unit for these
benchmarks is Wall time, which is measured in nano seconds. If you look at the
two graphs, you'll see that the GPU took far lesser time than the CPU in running
these benchmarks. So, if you need to do very heavy scientific calculations, then
a high capacity GPU is the better bet.
BOTTOMLINE: The results show that a GPU scores over a CPU when a lot of parallel processing is required.