*Project Description*

This project is to investigate 1D and 2D implementations of explicit high order finite element solutions of the unsteady heat equation, starting in one dimension then moving to 2D. To begin, 1D spectral elements that use a Gauss-Lobbato-Lagrange basis are investigated for their scalability on graphical-processing units (GPUs). This basis allows explicit simulations to be performed without large matrix inversions because the mass matrix that multiplies the time derivative term of the heat equation is diagonal. We investigate how these simulations scale on GPUs where we associate a group of elements and gauss points with each streaming processing unit. One challenge is that vertex basis functions span multiple elements so a element coloring algorithm is used to avoid memory-race conditions when assembling element residuals vectors to a global residual vector. In 2D, the goal is to implement on GPUs a recently discovered mass-matrix inversion algorithm for accurate explicit high-order finite element simulations on triangles. Here the memory access is more challenging and a coloring algorithm is necessary to divide elements into sets of non contiguous elements. Once this is done the CUBLAS (the cuda linear algebra library) is used to implement the massmatrix inversion algorithm and the scalability of this on GPUs is examined.