Matrix Shadow:Lightweight Matrix and Tensor  Template Library in C++/CUDA