Question about using cutlass defining 12x12 matrix together with its calculation

Hello everyone, this is my first time to use cutlass, and I now want to use cutlass to define a 12x12 matrix and then calculate it:

/////////////////////////////////////////
#include <cutlass/cutlass.h>
#include <cutlass/gemm/gemm.h>
#include <cutlass/matrix.h>
#include <cutlass/matrix_shape.h>
#include <cutlass/layout/matrix.h>
#include <cutlass/array.h>
#include <cutlass/coord.h>
#include <cutlass/fast_math.h>
#include <cutlass/layout/matrix.h>

namespace cutlass_test {

__device__ 
void __cutlass_test() {
    
    using cuMatrix12x12 = cutlass::Matrix<float, 12, 12>;
    cuMatrix12x12 tempMatrix1;
    cuMatrix12x12 tempMatrix2;
     cuMatrix12x12 tempMatrix3 = tempMatrix1 * tempMatrix2;

}
    
};



/////////////////////////////////////////

then I get the error:
error: incomplete type is not allowed, cuMatrix12x12 tempMatrix;

I tried to solve it but failed, Can you please guide me how to use cutlass to define a matrix? Then if operations such as settling matrix products can be directly commensurate like Eigen, C=A*B?
(I have tested cutlass::Matrix3x3 and it works fine, but I don’t know if a matrix with custom dimensions is feasible)

Thanks for any hints!

Look at cutlass/include/cutlass/matrix.h at main · NVIDIA/cutlass · GitHub

Line 53:

/// Primary template with partial specializations to follow
template <typename Element, int Rows, int Columns> struct Matrix;

Matrix is only partially specialized. For custom sizes you have to provide your own operations or use the other classes in Cutlass.

I think Matrix is meant as a value type for small matrices.