Lines Matching refs:Index
24 template<typename Scalar,typename Index>
26 void sparselu_gemm(Index m, Index n, Index d, const Scalar* A, Index lda, const Scalar* B, Index ldb, Scalar* C, Index ldc)
40 Index d_end = (d/RK)*RK; // number of columns of A (rows of B) suitable for full register blocking
41 Index n_end = (n/RN)*RN; // number of columns of B-C suitable for processing RN columns at once
42 Index i0 = internal::first_aligned(A,m);
47 for(Index i=0; i<i0; ++i)
49 for(Index j=0; j<n; ++j)
52 for(Index k=0; k<d; ++k)
58 for(Index ib=i0; ib<m; ib+=BM)
60 Index actual_b = std::min<Index>(BM, m-ib); // actual number of rows
61 Index actual_b_end1 = (actual_b/SM)*SM; // actual number of rows suitable for peeling
62 Index actual_b_end2 = (actual_b/PacketSize)*PacketSize; // actual number of rows suitable for vectorization
65 for(Index j=0; j<n_end; j+=RN)
70 for(Index k=0; k<d_end; k+=RK)
127 for(Index i=0; i<actual_b_end1; i+=PacketSize*8)
144 for(Index i=actual_b_end1; i<actual_b_end2; i+=PacketSize)
150 for(Index i=actual_b_end2; i<actual_b; ++i)
173 for(Index k=0; k<d_end; k+=RK)
218 for(Index i=0; i<actual_b_end1; i+=PacketSize*8)
231 for(Index i=actual_b_end1; i<actual_b_end2; i+=PacketSize)
236 for(Index i=actual_b_end2; i<actual_b; ++i)
250 Index rd = d-d_end;
253 for(Index j=0; j<n; ++j)