ricosjp / monolish

monolish: MONOlithic LInear equation Solvers for Highly-parallel architecture
Apache License 2.0
195 stars 12 forks source link

impl. transpose matvec, matmul #107

Closed t-hishinuma closed 2 years ago

t-hishinuma commented 2 years ago

I want to give modern and intuitive transposition information. But I have no idea how to implement it easily.

First, we create the following function as a prototype

matmul(A,B,C) // C=AB
matmul_TNN(A, B, C); // C=A^TB
matvec(A,x,y); // y = Ax
matvec_T(A, x, y); // y=A^Tx

This interface is not beautiful. However, it has the following advantages

t-hishinuma commented 2 years ago

matmul_TNN(A, B, C); // C=A^TB

Transpose C is not implemented. Therefore, change as follows.

matmul_TN(A, B, C); // C=A^T B^N

t-hishinuma commented 2 years ago

cusparse SpMM has bug? It need to take a lot of time..

I impl. GEMV and SpMV at 0.16.0 I impl. GEMM and SpMM at 0.16.1

this isssue is separlated: #115 #114