Efficient GPU Implementation of Stencils on Unstructured Grids
For my bachelor thesis, I implemented and benchmarked three stencil computations — local calculations applied to every cell in a three-dimensonal grid — using the Nvidia CUDA programming model on regular and unstructured grids. I explored five methods to access a grid’s cells in a stencil code and tested four strategies for storing the grid’s structural information (neighborship table). Notably, I conceived a compression scheme for the neighborship table, which improves runtimes compared to uncompressed implementations by 30% in some cases. Most of the other optimizations make use of an assumed regular structure in one of the dimensions.
You can download a PDF of my bachelor thesis here: