[Math-atlas-commits] CVS: AtlasBase/Clint atlas-iaux.base, 1.22, 1.23 atlas-thr.base, 1.13, 1.14
Brought to you by:
rwhaley,
tonyc040457
From: R. C. W. <rw...@us...> - 2008-10-28 13:34:29
|
Update of /cvsroot/math-atlas/AtlasBase/Clint In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv25513/Clint Modified Files: atlas-iaux.base atlas-thr.base Log Message: Index: atlas-iaux.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-iaux.base,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** atlas-iaux.base 27 Oct 2008 22:46:25 -0000 1.22 --- atlas-iaux.base 28 Oct 2008 13:34:12 -0000 1.23 *************** *** 1212,1216 **** for (j=0; j < N; j++) { ! Mjoin(PATL,axpby)(M, ONE, A, 1, ONE, C, 1); axpbyT(M, ONE, B, ldb, ONE, C, 1); C += ldc2; --- 1212,1216 ---- for (j=0; j < N; j++) { ! Mjoin(PATL,axpby)(M, ONE, A, 1, beta, C, 1); axpbyT(M, ONE, B, ldb, ONE, C, 1); C += ldc2; Index: atlas-thr.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-thr.base,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** atlas-thr.base 27 Oct 2008 22:46:25 -0000 1.13 --- atlas-thr.base 28 Oct 2008 13:34:12 -0000 1.14 *************** *** 1158,1162 **** if (!ATL_tsyr2kK(syp, Nblks*nb+nr, syp->K, A, B, C)) return; ! ATL_assert(Nblks); /* better not fail to allocate 1 block! */ /* * Must recur in order to make problem small enough to allocate C workspace --- 1158,1162 ---- if (!ATL_tsyr2kK(syp, Nblks*nb+nr, syp->K, A, B, C)) return; ! ATL_assert(Nblks>1 || (Nblks==1 && nr)); /* must have something to split */ /* * Must recur in order to make problem small enough to allocate C workspace *************** *** 1168,1191 **** nL = nbL*nb + rL; nR = nbR*nb + rR; - gc = (syp->Uplo == AtlasLower) ? MindxT(C, (nL<<eltsh)) : - MindxT(C, ((nL*syp->ldc)<<eltsh)); sc = MindxT(C, ((nL*(syp->ldc+1))<<eltsh)); if (syp->trans == AtlasNoTrans) { A1 = MindxT(A, (nL<<eltsh)); ! B1 = MindxT(B, ((nL*syp->ldb)<<eltsh)); } else /* index like transpose */ { A1 = MindxT(A, ((nL*syp->lda)<<eltsh)); ! B1 = MindxT(B, (nL<<eltsh)); } ATL_tvsyr2k_rec(syp, nbL, rL, A, B, C); ! syp->tvgemm(syp->TA, syp->TB, nR, nL, syp->K, syp->alpha, A1, syp->lda, ! B, syp->ldb, syp->beta, gc, syp->ldc); ! syp->tvgemm(syp->TB2, syp->TA2, nR, nL, syp->K, syp->alpha2, B1, syp->ldb, ! A, syp->lda, syp->one, C, syp->ldc); ATL_tvsyr2k_rec(syp, nbR, rR, A1, B1, sc); } --- 1168,1202 ---- nL = nbL*nb + rL; nR = nbR*nb + rR; sc = MindxT(C, ((nL*(syp->ldc+1))<<eltsh)); if (syp->trans == AtlasNoTrans) { A1 = MindxT(A, (nL<<eltsh)); ! B1 = MindxT(B, (nL<<eltsh)); } else /* index like transpose */ { A1 = MindxT(A, ((nL*syp->lda)<<eltsh)); ! B1 = MindxT(B, ((nL*syp->ldb)<<eltsh)); } ATL_tvsyr2k_rec(syp, nbL, rL, A, B, C); ! if (syp->Uplo == AtlasUpper) ! { ! gc = MindxT(C, ((nL*syp->ldc)<<eltsh)); ! syp->tvgemm(syp->TA, syp->TB, nL, nR, syp->K, syp->alpha, A, syp->lda, ! B1, syp->ldb, syp->beta, gc, syp->ldc); ! syp->tvgemm(syp->TA, syp->TB, nL, nR, syp->K, syp->alpha2, B, syp->ldb, ! A1, syp->lda, syp->one, gc, syp->ldc); ! } ! else ! { ! gc = MindxT(C, (nL<<eltsh)); ! syp->tvgemm(syp->TA, syp->TB, nR, nL, syp->K, syp->alpha, A1, syp->lda, ! B, syp->ldb, syp->beta, gc, syp->ldc); ! syp->tvgemm(syp->TA, syp->TB, nR, nL, syp->K, syp->alpha2, B1, syp->ldb, ! A, syp->lda, syp->one, gc, syp->ldc); ! } ATL_tvsyr2k_rec(syp, nbR, rR, A1, B1, sc); + } |