C++ Template Library for CUDA