During this lab, you will learn about OpenACC, a user-driven standard that offers a directive-based programming model for the scientific community to port their codes to multiple platforms without significant programming effort. The lab will cover introduction on how to analyze and parallelize your code, as well as perform optimizations like managing data movements. With access to a variety of supercomputers, researchers are looking for a solution that allows their codes to run not only on GPUs but on any architecture with minimal or no code change. Scientists report 2-10x performance increase with as little as a few weeks effort using OpenACC. Prerequisites: While the lab does not assume any previous experience with OpenACC directives or GPU programming in general, programming experience with C or FORTRAN is desirable. This lab utilizes GPU resources in the cloud, you are required to bring your own laptop.