Compute Unified Device Architecture is a parallel computing architecture developed by NVIDIA. CUDA is the computing engine in NVIDIA graphics processing units or GPUs that is accessible to software developers through industry standard programming languages. Programmers use ‘C for CUDA’ (C with NVIDIA extensions), compiled through a PathScale Open64 C compiler, to code algorithms for execution on the GPU. CUDA architecture supports a range of computational interfaces including OpenCL and DirectX Compute. Third party wrappers are also available for Python, Fortran, Java and Matlab.
Sequencing and protein docking
Sequencing and protein docking are very compute-intensive tasks that see a large performance benefit by using a CUDA-enabled GPU. There is quite a bit of ongoing work on using GPUs for a range of bio-informatics and life sciences codes.
|Accelerating HMMER using GPUsScalable Informatics||MUMmerGPU: High-through DNA sequence|
Molecular dynamics applications are extremely amenable to the massively parallel architecture of NVIDIA’s GPUs. In the charts below, we highlight work done on VMD and also molecular dynamics software packages such as NAMD and HOOMD.
|Ion Placement in VMDStone, Phillips, Hardy, Schulten||HOOMD on 1 NVIDIA GPUoutperforms 16 CPU cores running LAMMPs
Anderson, Lorenz, Travesset