Abstract
Improving the overall computational time is one of the challenges in scientific computing today. Mathematical models and quantitative analysis techniques are used to solve a big specter of scientific problems. Numerical simulations can be performed in many various fields and with different objectives, such as reconstructing and understanding events like earthquakes and tsunamis, or predicting the future like a weather forecast or predicting unobserved events such as where to find oil. Other fields where this is used include medical applications, various physical phenomenon and rocket science. Performing simulations of large data have been very slow or impossible to do on desktop computers or laptops. This is due to the limited processing capacity of these computers' Central Processing Unit (CPU). This thesis has investigated the field of High Performance Computing (HPC) and the possibility of running the numerical simulations in parallel on the many cores on the Graphics Processing Unit (GPU), exploring General--Purpose Computing on Graphics Processing Units (GPGPU), and observed that the computations perform much faster, and yield results with the same accuracy as a CPU. It has also investigated the possibility of coupling multiple GPUs, and observed additional speedup. This was tested on a sediment transport model for dual lithologies, a coupled system of Partial Differential Equations (PDEs) which was discretized with a fully explicit scheme using a finite difference method Forward-Time Central-Space (FTCS). The implementations was developed for NVIDIA GPUs exploiting the Compute Unified Device Architecture (CUDA) utilizing the CUDA C extension to the ANSI C programming language. The results derived in this research showed that numerical simulations performed on multiple GPUs yield results with the same accuracy as on a singe CPU, and with a very significant enhancement in performance.