[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
regarding incrementing matrix B in ATL_mmJIK.c....
in ATL_mmJIK.c, function mmJIK2, line 78-89, it says:
B2blk(K, NB, B, ldb, pB, alpha);
B += incB;
my understanding of the situation is that pB is a pointer to an allocated
chunk
of memory, size ATL_Cachelen+ATL_MulBySize(M*K + incK)...at least in the
case
that I am testing for, not globally, and that pB is just this + incK. So
when
execution gets to the B2blk(...) routine, it seems to me like B2blk is
doing
some sort of copying of the values in matrix B (times the scalar
alpha) into
this temporary buffer, pB, perhaps for the purpose of loading it into L1
cache.
Assuming I'm not totally incorrect, I can follow everything fine just fine
up
until the next line. Why does it do B += incB? incB, in my case, is
60,000,
which is NB (60) * first_dimension_of_B (1000). I don't understand why it
would
make B point to the end of it's matrix. I follow that later on in the
double
loops that pB gets reset back to pB0 and pA goes back to pA0, just part of
a
normal matmul
operation.
--
/---------------------------------\
Jeff W., jeff@dark-techno.org
ICQ# 17989474
"It's substance, not process"
http://dark-techno.org
http://8bitavatar.org