This is basically the homework for my GPU class