krylov random_matrix=... gives wrong density
Imported issue: Initially reported by @zimmerma in https://gforge.inria.fr/tracker/?group_id=2065&aid=21363
with /tmp/testme.txt containing:
16x2 NUMANode=>1x2 L2Cache8=>16x1 PU2=>1x1
8x4 NUMANode=>1x2 L2Cache8=>8x2 PU2=>1x1
2x16 NUMANode=>2x1 L2Cache8=>1x16 PU2=>1x1
2x8 NUMANode=>2x1 L2Cache=>1x8 PU*2=>1x1
we get with:
cat /tmp/testme.txt | while read a b ; do ./build/catrel/linalg/bwc/krylov m=64 n=64 cpubinding=""b"" prime=2 thr=
a random_matrix=1200000,1200000,170,seed=1 ys=0..64 interval=1000 end=5000 ; done > cpubinding.txt
Actual density per row avg 89.58 sdev 457.51
Target iteration is 5000 ; going to 5000
Actual density per row avg 50.58 sdev 517.55
Target iteration is 5000 ; going to 5000
Actual density per row avg 16.01 sdev 699.26
Target iteration is 5000 ; going to 5000
Actual density per row avg 28.49 sdev 837.89
Target iteration is 5000 ; going to 5000
Even if the density corresponds respectively to 1/2, 1/4, 1/16 and 1/8 of the rows, and thus should be multiplied by 2, 4, 16, 8, we get 179.16, 202.32, 256.16, 227.92, which does not match the target density of 170.