[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

*To*: atlas-comm@cs.utk.edu*Subject*: simple question about ATL_mmJIK.c*From*: "Jeff W." <jeff@dark-techno.org>*Date*: Thu, 26 Jul 2001 19:40:12 -0400 (EDT)

the file: ATLAS/src/blas/gemm/ATL_mmJIK.c, around lines 87 or so, contains the following code: .... NBmm0(MB, NB, KB, ATL_rone, pA, KB, pB, KB, beta, pC, ldpc); pA += NBNB; pB += NBNB; .... I assume that what's going on here is that pA and pB are pointers to some starting offset within the matrices A and B. When NBmm0 is called, the kernel will be executed, and the sub region of size NBxNB of matrices A and B will be in the L1 cache, which the kernel then operates on at a higher speed than if the data weren't in cache. After returning, the pointers are advanced by NB*NB entries, and the process will repeat with another chunk of a matrix. So, my simple questions are: 1. NBNB I assume is the the number of *entries* in the sub matrix, so NB squared. If I wanted to get the number of bytes this takes up, then this would be NB*NB*sizeof(TYPE). Is this correct? 2. It seems like instead of processing the sub matrices like you normally handle a 2D array, that ATLAS is mapping the 2D space into just a strictly linear space. Is this true? thanks for your help, I know they're strange questions =) -- /---------------------------------\ Jeff W., jeff@dark-techno.org ICQ# 17989474 "It's substance, not process" http://dark-techno.org http://logic-slave.org

- Prev by Date:
**ppc development** - Next by Date:
**Re: simple question about ATL_mmJIK.c** - Prev by thread:
**Re: Abysmal performance with new gccs** - Next by thread:
**Re: simple question about ATL_mmJIK.c** - Index(es):