CUDA and Template Meta-Programming