Naive and adapted utilization of the GPU for general purpose computing
MetadataShow full item record
In this thesis we will see that adaptive utilization of the graphical processing unit (GPU) has much better performance than naive utilization, but it takes longer time to implement and requires more knowledge about GPU-programming. To choose which strategy to use for utilizing the GPU depends on how we weigh implementation time against performance. If we want to get results fast and the size of the problem is not too large (or too small where CPU is more suitable), the naive utilization of the GPU is probably the best choice. If we want high performance, use large dataset or want a more sophisticated solution in terms of graphics and functionality, the adapted utilization is probably the best choice. This conclusion is based on implementation of numerical solutions for two partial differential equations (PDEs), The Heat Equation and The Shallow Water Equations. These solutions were implemented to utilize the power of the GPU to do the actual approximation of the equations. The power of the GPU can be utilized in different ways. In this thesis we want to implement the numerical solutions to utilize the GPU in both a naive way and an adaptive way. In the naive way, we use standard libraries where we can apply code written for the central processing unit (CPU) to the GPU without any knowledge about how it is executed. In the adaptive way, we have to specify every little detail about setting up the connection and communication with the GPU, how memory is used on the GPU and how to write code on the GPU. For each implementation, we measure running time with different problem sizes to see how each solution performed.