[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