recast nvcuda::wmma::fragment from unsigned char to half

Hi,

I have a piece of code which has to multiply two matrices. One is of type char, the other of type half. Both are in shared memory. I do not have enough shared memory for recasting the char matrix to FP16.

Is there a way to load a char matrix fragment directly to a nvcuda::wmma::fragment of type half? Otherwise, can I recast somehow a nvcuda::wmma::fragment from unsigned char to half type? Would it be safe to do something like:

nvcuda::wmma::fragment<nvcuda::wmma::matrix_a, M, N, K, half, nvcuda::wmma::row_major> achar;         
nvcuda::wmma::fragment<nvcuda::wmma::matrix_a, M, N, K, half, nvcuda::wmma::row_major> ahalf;
...
for (int t = 0; t < achar.num_elements; t++) ahalf.x[t] = (half)achar.x[t];

Thanks!