CIS565 GPU Programming Final Project