  This documentation is designed for beginners in Graphics Processing Unit
(GPU)-programming and who want to get familiar with OpenACC and OpenMP
offloading models. Here we present an overview of these two programming models
as well as of the GPU-architectures. Specifically, we provide some insights
into the functionality of these models and perform experiments involving
different directives and discuss their performance. This is achieved through
the use of a mini-application based on solving numerically the Laplace
equation. Such experiments reveal the benefit of the use of GPU, which in our
case manifests by an increase of the performance by almost a factor of 52. We
further carry out a comparative study between the OpenACC and OpenMP models in
the aim of converting OpenACC to OpenMP on heterogeneous systems. In this
context, we present a short overview of the open-source OpenACC compiler Clacc,
which is designed based on translating OpenACC to OpenMP in Clang.
