21 Sep
2017
21 Sep
'17
11:52 a.m.
Hong <[email protected]> writes:
Jed, I reproduced what you observed. 30x time is spent on numerical C = At*B. We compute A^T*B using outer product C=(A^T)[:,i]*B[i,:]. For your large matrix A: rows=574902, cols=184446, outer product takes long long time to insert values to C.
We may use At=A^T and C=At*B instead.
Right. My point is that users call MatTransposeMatMult and conclude that PETSc is super slow compared to other software. The could call MatTranspose then MatMatMult and get fast results, but that's a sucky and confusing interface. Is there a compelling reason to keep the outer product implementation around? Are there any matrices for which it is competitive?
3246
Age (days ago)
3246
Last active (days ago)
0 comments
1 participants
participants (1)
-
Jed Brown