Software Archive
Read-only legacy content
17061 Discussions

mkl_?csrmv() for multiplying transpose of a matrix

kadir
Beginner
459 Views

 

When mkl_?csrmv() is used with the option transa='N', the performance of mkl_?csrmv on Intel Xeon Phi coprocessor is good. However, when it is used with the option transa='T', its performance degrades dramatically.

What may be the reason behind this issue? May it be because of atomic writes to the output vector when there are lots of threads? (Number of threads is set via using mkl_set_num_threads())

0 Kudos
1 Reply
TaylorIoTKidd
New Contributor I
459 Views

Kadir,

As I understand it, transa has to do with how mkl multiplies the matrices. So my guess is that 'N' multiplies the matrices such that it vectorizes very well, whereas 'T' transposes the matrices and makes MKL's job much harder since it can't exploit various optimizations such as vectorization.

Regards
--
Taylor
 

0 Kudos
Reply