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
|
|