[Math-atlas-commits] CVS: AtlasBase/Clint atlas-make.base, 1.186, 1.187 atlas-thr.base, 1.41, 1.42
Brought to you by:
rwhaley,
tonyc040457
From: R. C. W. <rw...@us...> - 2009-02-23 17:11:15
|
Update of /cvsroot/math-atlas/AtlasBase/Clint In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv7144/Clint Modified Files: atlas-make.base atlas-thr.base atlconf.base Log Message: Index: atlas-make.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-make.base,v retrieving revision 1.186 retrieving revision 1.187 diff -C2 -d -r1.186 -r1.187 *** atlas-make.base 29 Jan 2009 18:02:27 -0000 1.186 --- atlas-make.base 23 Feb 2009 17:10:58 -0000 1.187 *************** *** 3821,3825 **** $(INCSdir)/cblas.h $(INCSdir)/atlas_level1.h \ $(INCSdir)/atlas_refalias1.h $(INCSdir)/atlas_refalias2.h \ ! $(INCSdir)/atlas_refalias3.h @define ptf @@ --- 3821,3825 ---- $(INCSdir)/cblas.h $(INCSdir)/atlas_level1.h \ $(INCSdir)/atlas_refalias1.h $(INCSdir)/atlas_refalias2.h \ ! $(INCSdir)/atlas_refalias3.h $(INCSdir)/atlas_ptalias3.h @define ptf @@ Index: atlas-thr.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-thr.base,v retrieving revision 1.41 retrieving revision 1.42 diff -C2 -d -r1.41 -r1.42 *** atlas-thr.base 21 Feb 2009 01:05:17 -0000 1.41 --- atlas-thr.base 23 Feb 2009 17:10:58 -0000 1.42 *************** *** 954,957 **** --- 954,958 ---- if (np < ATL_NTHREADS) EnforceNonPwr2LO(ptmms, np); + return(np); } #endif *************** *** 3191,3194 **** --- 3192,3196 ---- J = I / ((him->ldc)<<(him->eltsh)); I -= J*him->ldc; + ATL_assert(I == J); w = ATL_AlignPtr(me->Cw); w += J*me->ldcw + I; *************** *** 3216,3219 **** --- 3218,3222 ---- J = I / ((him->ldc)<<(him->eltsh)); I -= J*him->ldc; + ATL_assert(I == J); w = ATL_AlignPtr(him->Cw); w += J*him->ldcw + I; *************** *** 3229,3238 **** me->Cw = him->Cw; me->ldcw = him->ldcw; - me->M = him->M; me->N = him->N; return(0); /* successful combine */ } return(1); /* unsuccessful combine */ } void Mjoin(PATL,CombineStructs@up@(rt))(void *vme, void *vhim) /* --- 3232,3242 ---- me->Cw = him->Cw; me->ldcw = him->ldcw; me->N = him->N; + me->K = him->K; return(0); /* successful combine */ } return(1); /* unsuccessful combine */ } + void Mjoin(PATL,CombineStructs@up@(rt))(void *vme, void *vhim) /* *************** *** 3261,3328 **** for (i=0; i < him->nCw; i++) { - himcp = him->Cinfp[i]; - /* - * If I have no workspaces, I own C and can directly modify it - */ - if (me->nCw == 0) - { - if (himcp->Cw) /* his malloc succeeded */ - { - Mjoin(PATL,tradd)(himcp->Uplo, himcp->N, ATL_AlignPtr(himcp->Cw), - himcp->ldcw, ONE, (TYPE*)himcp->C, himcp->ldc); - free(himcp->Cw); - } - else if (himcp->nCw) /* must do SYRK since he couldn't malloc */ - himcp->tvsyrk(himcp->Uplo, himcp->Trans, himcp->N, himcp->K, - himcp->alpha, himcp->A, himcp->lda, - himcp->one, himcp->C, himcp->ldc); - } /* ! * If I use workspaces, must either combine his result with mine ! * (as when K has been cut) or add it to my list */ ! else { ! for (j=0; j < me->nCw; j++) /* loop over my workspaces */ ! { ! mycp = me->Cinfp[j]; ! /* ! * If we are writing to same place, combine his C with mine ! */ ! if (mycp->C == himcp->C) ! { ! if (mycp->Cw) /* I succeeded in mallocing this space */ ! { ! Mjoin(PATL,tradd)(himcp->Uplo, himcp->N, ! ATL_AlignPtr(himcp->Cw), himcp->ldcw, ! ONE, ATL_AlignPtr(mycp->Cw), mycp->ldcw); ! free(himcp->Cw); ! } ! /* ! * If my work allocation failed, do my work into his now ! */ ! else if (himcp->Cw) ! { ! mycp->Cw = himcp->Cw; ! mycp->ldcw = himcp->ldcw; ! mycp->tvsyrk(mycp->Uplo, mycp->Trans, mycp->N, mycp->K, ! mycp->alpha, mycp->A, mycp->lda, mycp->one, ! ATL_AlignPtr(mycp->Cw), mycp->ldcw); ! } ! else /* we both failed to allocate space */ ! { /* so just add to list for someone else to do */ ! me->Cinfp[me->nCw] = himcp; ! (me->nCw)++; ! } break; - } - } /* ! * If I have no workspace going to same place in C as his, just ! * add his workspace to my list of workspaces */ if (j == me->nCw) { ! me->Cinfp[j] = himcp; me->nCw = j + 1; } --- 3265,3284 ---- for (i=0; i < him->nCw; i++) { /* ! * If I can't combine his data into my primary workspace, see if it ! * can be combined with any of my other workspaces */ ! if (CombineCw(me, him->Cinfp[i])) { ! for (j=1; j < me->nCw; j++) ! if (!CombineCw(me->Cinfp[j], him->Cinfp[i])) break; /* ! * If I can't combine his data into any existing auxiliary space, ! * add his node to my list of workspaces to be combined later */ if (j == me->nCw) { ! me->Cinfp[j] = him->Cinfp[i]; me->nCw = j + 1; } *************** *** 3522,3526 **** nb = MB; ! if (K > (N<<ATL_NTHRPOW2) && (((size_t)N)*N*sizeof(TYPE) > ATL_PTMAXMALLOC)) { Mjoin(PATL,t@(rt)_K_rec)(Uplo, Trans, N, K, alpha, A, lda, beta, --- 3478,3482 ---- nb = MB; ! if (K > (N<<ATL_NTHRPOW2) && (((size_t)N)*N*sizeof(TYPE) <= ATL_PTMAXMALLOC)) { Mjoin(PATL,t@(rt)_K_rec)(Uplo, Trans, N, K, alpha, A, lda, beta, Index: atlconf.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlconf.base,v retrieving revision 1.186 retrieving revision 1.187 diff -C2 -d -r1.186 -r1.187 *** atlconf.base 30 Jan 2009 18:30:13 -0000 1.186 --- atlconf.base 23 Feb 2009 17:10:58 -0000 1.187 *************** *** 4257,4270 **** # # Linux/MIPSICE9 # MACH=MIPSICE9 OS=ALL LVL=500 COMPS=icc,smc,dmc,skc,dkc,xcc 'gcc' '-O2 -mips64 -march=5kf -mtune=5kf -fno-schedule-insns -fschedule-insns2 -fno-peephole -fno-peephole2' ! MACH=MIPSICE9 OS=ALL LVL=100 COMPS=f77 'pathf95' '-march=auto -O2' ! MACH=MIPSICE9 OS=ALL LVL=1000 COMPS=skc,dkc 'pathcc' '-O3 -OPT:Olimit=15000 -LNO:blocking=OFF -LOPT:alias=typed -march=auto' ! MACH=MIPSICE9 OS=ALL LVL=1000 COMPS=smc,dmc 'pathcc' '-O3 -OPT:Olimit=15000 -LNO:blocking=OFF -LOPT:alias=typed -march=auto -LNO:opt=0 -LNO:full_unroll_outer=OFF -LNO:fusion=0 -LNO:prefetch=2' ! MACH=MIPSICE9 OS=ALL LVL=1000 COMPS=icc,xcc 'pathcc' '-march=auto -O2 -OPT:Olimit=15000 -LNO:blocking=OFF' # --- 4257,4272 ---- # # Linux/MIPSICE9 + # pathcc priorities set below gcc because threaded syrk won't work with + # pathcc at -O2 -- seems to be a compiler error # MACH=MIPSICE9 OS=ALL LVL=500 COMPS=icc,smc,dmc,skc,dkc,xcc 'gcc' '-O2 -mips64 -march=5kf -mtune=5kf -fno-schedule-insns -fschedule-insns2 -fno-peephole -fno-peephole2' ! MACH=MIPSICE9 OS=ALL LVL=1000 COMPS=f77 'pathf95' '-march=auto -O2' ! MACH=MIPSICE9 OS=ALL LVL=1 COMPS=skc,dkc 'pathcc' '-O3 -OPT:Olimit=15000 -LNO:blocking=OFF -LOPT:alias=typed -march=auto' ! MACH=MIPSICE9 OS=ALL LVL=1 COMPS=smc,dmc 'pathcc' '-O3 -OPT:Olimit=15000 -LNO:blocking=OFF -LOPT:alias=typed -march=auto -LNO:opt=0 -LNO:full_unroll_outer=OFF -LNO:fusion=0 -LNO:prefetch=2' ! MACH=MIPSICE9 OS=ALL LVL=1 COMPS=icc,xcc 'pathcc' '-march=auto -O2 -OPT:Olimit=15000 -LNO:blocking=OFF' # |