Learn how to program multi-GPU systems or GPU clusters using the message passing interface and OpenACC. We'll start with a quick introduction to MPI and how an NVIDIA(R) CUDA(R)-aware MPI implementation can be used with OpenACC. Other topics covered will include how to handle GPU affinity in multi-GPU systems and using NVIDIA performance analysis tools. As we'll be using GPUs hosted in the cloud, all you are required to bring is a laptop with a modern browser. Prerequisites: C or FORTRAN, Basic OpenACC and MPI are strongly recommended but not required. This lab utilizes GPU resources in the cloud, you are required to bring your own laptop.