This lesson is being piloted (Beta version)

GPUs in Scientific Applications: Glossary

Key Points

Introduction to GPU Computing
  • On the largest Supercomputers in the world, most of the computational power comes from accelerators such as GPUs

  • Not everything a CPU can do a GPU can do.

  • GPUs are particularly good on a restricted set of tasks

Paradigms of Parallel Computing
  • The serial code only allows one core to follow the instructions in the code

  • OpenMP uses several cores on the same machine as all the cores are able to address the same memory

  • OpenACC is capable to use both multiple cores and accelerators such as GPUs

  • MPI is used for distributed parallel computing. Being able to use cores on different compute nodes.

  • OpenCL is an effort for a platform-independent model for hybrid computing

  • CUDA is the model used by NVIDIA for accessing compute power from NVIDIA GPUs

Introduction to CUDA
  • CUDA is designed for a specific GPU architecture, namely NVIDIA’s Streaming Multiprocessors.

  • CUDA has many programming operations that are common to other parallel programming paradigms.

  • Careful use of data movement is extremely important to obtaining good performance from CUDA programs.

Deep Learning
  • Deep Learning are techniques to explore multiple level of data transformations

  • Deep Learning is usually understood as the use of neural network models

  • Neural network models can be trained efficiently using GPUs

  • Three popular Deep Learning models are TensorFlow, PyTorch and MXNet

Molecular Dynamics
  • We can use several methods to obtain a potential energy surface, from which inter-particle forces can be used to simulate the movement of particles subject to external and the interaction between particles. can be derived. We can then perform molecular dynamics simulations to solve Newton’s equation of motion for the relative motion of atoms subject to realistic intramolecular forces.

  • Molecular Dynamics is an important tool for Chemistry and Engineering

  • CMD uses force fields and Newton’s Laws to simulate the evolution of a system of interacting particles

  • Scientific packages that can use GPUs to accelerate simulations include Gromacs, LAMMPS, NAMD, and Amber

Other Applications
  • GPUs can be used to accelerate other applications such as CFD, signal processing and Data Analysis

Glossary

FIXME