forked from tsai/mathnet-numerics
Browse Source
I empirically noticed that matrix multiplication was extremely slow for the matrices I was using i.e. multiplications were taking minutes rather than seconds. After tracking down the root of the problem, I found it was in the CacheObliviousMatrixMultiply() implementation, specifically, where the sum of the column/row dimensions were compared with the Control.ParallelizeOrder variable. For significantly skewed matrix multiplication (wide * tall), the parallelised redistribution greatly reduces performance. By removing the 'k' parameter from the comparison (where k is the number of columns in the left matrix and the number of rows in the right) the performance is improved drastically. For perfectly square matrices, this change reduces performance slightly.v2
committed by
Christoph Ruegg
4 changed files with 4 additions and 4 deletions
Loading…
Reference in new issue