math-atlas-commits Mailing List for Automatically Tuned Linear Algebra Soft. (Page 2)
Brought to you by:
rwhaley,
tonyc040457
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(87) |
Oct
(29) |
Nov
(162) |
Dec
(21) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
|
Feb
(6) |
Mar
(14) |
Apr
(21) |
May
(20) |
Jun
(15) |
Jul
(4) |
Aug
|
Sep
|
Oct
|
Nov
(12) |
Dec
(47) |
2003 |
Jan
(25) |
Feb
(9) |
Mar
|
Apr
(32) |
May
(14) |
Jun
(31) |
Jul
(20) |
Aug
(42) |
Sep
(10) |
Oct
(29) |
Nov
(11) |
Dec
(100) |
2004 |
Jan
|
Feb
(9) |
Mar
(6) |
Apr
(8) |
May
(1) |
Jun
(39) |
Jul
(20) |
Aug
(13) |
Sep
|
Oct
|
Nov
|
Dec
|
2005 |
Jan
|
Feb
|
Mar
|
Apr
(33) |
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
(2) |
Oct
|
Nov
|
Dec
(2) |
2006 |
Jan
|
Feb
|
Mar
(2) |
Apr
|
May
(6) |
Jun
(73) |
Jul
(146) |
Aug
(93) |
Sep
(11) |
Oct
(19) |
Nov
(53) |
Dec
(38) |
2007 |
Jan
(41) |
Feb
(42) |
Mar
(36) |
Apr
(25) |
May
(49) |
Jun
(81) |
Jul
(16) |
Aug
(16) |
Sep
(45) |
Oct
(31) |
Nov
(2) |
Dec
|
2008 |
Jan
(14) |
Feb
(46) |
Mar
(30) |
Apr
(8) |
May
(67) |
Jun
(30) |
Jul
(57) |
Aug
(115) |
Sep
(10) |
Oct
(51) |
Nov
(7) |
Dec
(35) |
2009 |
Jan
(28) |
Feb
(60) |
Mar
(18) |
Apr
(50) |
May
(29) |
Jun
(6) |
Jul
(52) |
Aug
(25) |
Sep
(22) |
Oct
(65) |
Nov
(41) |
Dec
(37) |
2010 |
Jan
(54) |
Feb
(76) |
Mar
(32) |
Apr
(47) |
May
(87) |
Jun
(44) |
Jul
(78) |
Aug
(50) |
Sep
(10) |
Oct
(101) |
Nov
(7) |
Dec
(38) |
2011 |
Jan
(30) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: R. C. W. <rw...@us...> - 2011-01-13 18:05:29
|
Update of /cvsroot/math-atlas/AtlasBase/Clint In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv31864/Clint Modified Files: atlas-lvl2.base Log Message: Index: atlas-lvl2.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-lvl2.base,v retrieving revision 1.235 retrieving revision 1.236 diff -C2 -d -r1.235 -r1.236 *** atlas-lvl2.base 21 Dec 2010 17:26:24 -0000 1.235 --- atlas-lvl2.base 13 Jan 2011 18:05:20 -0000 1.236 *************** *** 8868,8871 **** --- 8868,8872 ---- TYPE *A, *X, *Y; ATL_INT i; + int k; @ROUT r2ktime TYPE *X1, *Y1; *************** *** 8897,8912 **** * NOTE: if nreps too high this could lead to under/overflow */ ! t0 = time00(); ! for (i=nreps; i; i--) { @ROUT r2ktime ! ATL_UGER2K(M, N, X, Y, X1, Y1, A, lda); @ROUT r1ktime ! ATL_UGERK(M, N, X, Y, A, lda); @ROUT mvktime ! ATL_UGEMV(M, N, A, lda, X, Y); @ROUT r1ktime r2ktime mvktime } - t1 = time00(); t1 = (t1 - t0)/(1.0*nreps); if (verb) --- 8898,8918 ---- * NOTE: if nreps too high this could lead to under/overflow */ ! for (k=0; i < 8; k++) /* loop until results are believable, or give up */ { + t0 = time00(); + for (i=nreps; i; i--) + { @ROUT r2ktime ! ATL_UGER2K(M, N, X, Y, X1, Y1, A, lda); @ROUT r1ktime ! ATL_UGERK(M, N, X, Y, A, lda); @ROUT mvktime ! ATL_UGEMV(M, N, A, lda, X, Y); @ROUT r1ktime r2ktime mvktime + } + t1 = time00(); + if (t1 > t0) break; + nreps = (nreps) ? nreps+nreps : 1; } t1 = (t1 - t0)/(1.0*nreps); if (verb) *************** *** 8969,8973 **** size_t ptr_st; ATL_INT i, j; ! int maxalign; if (MAx) --- 8975,8979 ---- size_t ptr_st; ATL_INT i, j; ! int k, maxalign; if (MAx) *************** *** 9087,9104 **** j=0; ! t0 = time00(); ! for (i=nreps; i; i--) { ! @ROUT r1ktime ` test_ger(M, N, alpha, x, 1, y, 1, A, lda);` ! @ROUT mvktime ` test_gemv(M, N, alpha, A, lda, x, 1, be, y, 1);` ! @ROUT r2ktime ` test_ger2(M, N, alpha, x, 1, y, 1, nalpha, x, 1, y, 1, A, lda);` ! if (++j < nsets) { a -= setspan; x -= setspan; y -= setspan; } @ROUT mvktime ! else { a = A; x = X; y = Y; j=0; be = (be == beta) ? nbeta : beta;} @ROUT r1ktime r2ktime ! else { a = A; x = X; y = Y; j=0; } @ROUT r1ktime r2ktime mvktime } - t1 = time00(); free(vmem); t1 = (t1-t0) / (1.0*nreps); --- 9093,9116 ---- j=0; ! for (k=0; k < 8; k++) /* loop until good timing or too many trips */ { ! t0 = time00(); ! for (i=nreps; i; i--) ! { ! @ROUT r1ktime ` test_ger(M, N, alpha, x, 1, y, 1, A, lda);` ! @ROUT mvktime ` test_gemv(M, N, alpha, A, lda, x, 1, be, y, 1);` ! @ROUT r2ktime ` test_ger2(M, N, alpha, x, 1, y, 1, nalpha, x, 1, y, 1, A, lda);` ! if (++j < nsets) { a -= setspan; x -= setspan; y -= setspan; } @ROUT mvktime ! else { a = A; x = X; y = Y; j=0; be = (be == beta) ? nbeta : beta;} @ROUT r1ktime r2ktime ! else { a = A; x = X; y = Y; j=0; } @ROUT r1ktime r2ktime mvktime + } + t1 = time00(); + if (t1 > t0) + break; + nreps = (nreps) ? nreps+nreps : 1; } free(vmem); t1 = (t1-t0) / (1.0*nreps); *************** *** 10509,10513 **** --- 10521,10528 ---- int maxd = 256, slen, lo, hi, dB, i; ATL_@(ru)node_t *kp; + const int DEFFLAGS = (kb->cflags == NULL); + if (DEFFLAGS) + kb->cflags = GetKCFlags(pre); printf("\nTUNING PREFETCH DISTANCE FOR OPERAND '%c', imf=%d:\n", arrc, imf); if (pre == 'd' || pre == 'c') *************** *** 10531,10535 **** * or we reach 256 elements (max distance ahead). */ ! slen = (kb->cflags) ? strlen(kb->cflags) : 0; kp = Clone@up@(ru)Node(kb); mfB = 0.0; --- 10546,10550 ---- * or we reach 256 elements (max distance ahead). */ ! slen = strlen(kb->cflags); kp = Clone@up@(ru)Node(kb); mfB = 0.0; *************** *** 10593,10600 **** sprintf(kb->cflags+slen, " -DPF%cDIST=%d", arrc, dB); printf("BEST imf=%d PF%cDIST=%d (%.2f)\n", imf, arrc, dB, mfB); } - else - printf("DEFAULT imf=%d %cDISTANCE IS BEST (%.2f)\n", - imf, arrc, kb->mflop[imf]); return(kb); } --- 10608,10620 ---- sprintf(kb->cflags+slen, " -DPF%cDIST=%d", arrc, dB); printf("BEST imf=%d PF%cDIST=%d (%.2f)\n", imf, arrc, dB, mfB); + return(kb); + } + printf("DEFAULT imf=%d %cDISTANCE IS BEST (%.2f)\n", + imf, arrc, kb->mflop[imf]); + if (DEFFLAG) + { + free(kb->cflags); + kb->cflags = NULL; } return(kb); } *************** *** 10697,10700 **** --- 10717,10721 ---- } } + assert(kpB); /* ERROR: die if no kernel has valid timing */ if (kpB == tkpB) { |
From: R. C. W. <rw...@us...> - 2011-01-11 17:02:23
|
Update of /cvsroot/math-atlas/AtlasBase/Clint In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv6296/Clint Modified Files: atlas-c2flp.base atlas-fint.base atlas-make.base atlconf.base Log Message: Index: atlas-c2flp.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-c2flp.base,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** atlas-c2flp.base 10 Dec 2010 21:06:13 -0000 1.14 --- atlas-c2flp.base 11 Jan 2011 17:02:13 -0000 1.15 *************** *** 447,452 **** @(pre)@(pt)lib.grd : $(@(pre)obj) if [ -d "$(FLAdir)" ]; then \ ! $(ARCHIVER) $(ARFLAGS) $(@(lib)F77LAPACKlib) $(@(pre)obj) ; \ ! $(RANLIB) $(@(lib)F77LAPACKlib) ; \ fi touch @(pre)@(pt)lib.grd --- 447,452 ---- @(pre)@(pt)lib.grd : $(@(pre)obj) if [ -d "$(FLAdir)" ]; then \ ! $(ARCHIVER) $(ARFLAGS) $(@(lib)LAPACKlib) $(@(pre)obj) ; \ ! $(RANLIB) $(@(lib)LAPACKlib) ; \ fi touch @(pre)@(pt)lib.grd Index: atlas-fint.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-fint.base,v retrieving revision 1.42 retrieving revision 1.43 diff -C2 -d -r1.42 -r1.43 *** atlas-fint.base 10 Jan 2011 15:29:20 -0000 1.42 --- atlas-fint.base 11 Jan 2011 17:02:13 -0000 1.43 *************** *** 2847,2852 **** @define ptdef @@ @define ptdef @-DATL_USEPTHREADS@ ! @define lib @F77@ ! @define lib @PTF77@ @define pt @@ @whiledef pt t --- 2847,2852 ---- @define ptdef @@ @define ptdef @-DATL_USEPTHREADS@ ! @define lib @@ ! @define lib @PT@ @define pt @@ @whiledef pt t Index: atlas-make.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-make.base,v retrieving revision 1.340 retrieving revision 1.341 diff -C2 -d -r1.340 -r1.341 *** atlas-make.base 3 Jan 2011 23:56:30 -0000 1.340 --- atlas-make.base 11 Jan 2011 17:02:13 -0000 1.341 *************** *** 596,603 **** incdep = $(INCSdir)/atlas_lapack.h @(pre)@(pt)lib.grd : $(@(pre)@(pt)obj) ! $(ARCHIVER) $(ARFLAGS) $(@(lib)CLAPACKlib) $(@(pre)@(pt)obj) ! $(RANLIB) $(@(lib)CLAPACKlib) ! $(ARCHIVER) $(ARFLAGS) $(@(lib)F77LAPACKlib) $(@(pre)@(pt)obj) ! $(RANLIB) $(@(lib)F77LAPACKlib) touch @(pre)@(pt)lib.grd --- 596,601 ---- incdep = $(INCSdir)/atlas_lapack.h @(pre)@(pt)lib.grd : $(@(pre)@(pt)obj) ! $(ARCHIVER) $(ARFLAGS) $(@(lib)LAPACKlib) $(@(pre)@(pt)obj) ! $(RANLIB) $(@(lib)LAPACKlib) touch @(pre)@(pt)lib.grd *************** *** 3021,3025 **** xdlp1000: ftime00.o dlp1000.o dlapack dl3lib dl2lib dl1lib dcblas dfblas $(FLINKER) $(FLINKFLAGS) -o $@ dlp1000.o ftime00.o \ ! $(F77LAPACKlib) $(CBLASlib) $(F77BLASlib) $(ATLASlib) $(LIBS) ftime00.o : $(mySRCdir)/ftime00.c $(ICC) -o $@ -c $(ICCFLAGS) $(mySRCdir)/ftime00.c --- 3019,3023 ---- xdlp1000: ftime00.o dlp1000.o dlapack dl3lib dl2lib dl1lib dcblas dfblas $(FLINKER) $(FLINKFLAGS) -o $@ dlp1000.o ftime00.o \ ! $(LAPACKlib) $(CBLASlib) $(F77BLASlib) $(ATLASlib) $(LIBS) ftime00.o : $(mySRCdir)/ftime00.c $(ICC) -o $@ -c $(ICCFLAGS) $(mySRCdir)/ftime00.c *************** *** 3062,3066 **** x@(pre)@(rt) : $(mySRCdir)/@(pre)@(rt).f90 $(FLAPACKlib) $(ATLASlib) $(F77) $(F77FLAGS) -o $@ $(mySRCdir)/@(pre)@(rt).f90 \ ! $(FLAPACKlib) $(FLAPACKlib) $(F77BLASlib) $(CBLASlib) $(ATLASlib) @endwhile rt @whiledef rt qrtranstest transtest ger2test scltest --- 3060,3064 ---- x@(pre)@(rt) : $(mySRCdir)/@(pre)@(rt).f90 $(FLAPACKlib) $(ATLASlib) $(F77) $(F77FLAGS) -o $@ $(mySRCdir)/@(pre)@(rt).f90 \ ! $(FLAPACKlib) $(LAPACKlib) $(F77BLASlib) $(CBLASlib) $(ATLASlib) @endwhile rt @whiledef rt qrtranstest transtest ger2test scltest *************** *** 3149,3153 **** @(pre)l2lib_@(bt) @(pre)l1lib_@(bt) @(pre)cblas_@(bt) @(pre)fblas_@(bt) $(FLINKER) $(FCLINKFLAGS) -o $@ @(pre)lanbtime_@(lt)_@(bt).o \ ! $(TESTlib) $(@(ptl)FCLALIBS) $(@(ptl)CBLASlib) $(@(ptl)F77BLASlib) \ $(ATLASlib) $(LIBS) @whiledef rt lu llt slv uum trtri inv qr orm --- 3147,3151 ---- @(pre)l2lib_@(bt) @(pre)l1lib_@(bt) @(pre)cblas_@(bt) @(pre)fblas_@(bt) $(FLINKER) $(FCLINKFLAGS) -o $@ @(pre)lanbtime_@(lt)_@(bt).o \ ! $(TESTlib) $(@(ptl)LAPACKlib) $(@(ptl)CBLASlib) $(@(ptl)F77BLASlib) \ $(ATLASlib) $(LIBS) @whiledef rt lu llt slv uum trtri inv qr orm *************** *** 3156,3160 **** @(pre)l2lib_@(bt) @(pre)l1lib_@(bt) @(pre)cblas_@(bt) $(FLINKER) $(FCLINKFLAGS) -o $@ @(pre)@(rt)tstC@(suf).o \ ! $(TESTlib) $(@(ptl)FCLALIBS) $(@(ptb)CBLASlib) $(@(ptb)F77BLASlib) \ $(ATLASlib) $(LIBS) @undef suf --- 3154,3158 ---- @(pre)l2lib_@(bt) @(pre)l1lib_@(bt) @(pre)cblas_@(bt) $(FLINKER) $(FCLINKFLAGS) -o $@ @(pre)@(rt)tstC@(suf).o \ ! $(TESTlib) $(@(ptl)LAPACKlib) $(@(ptb)CBLASlib) $(@(ptb)F77BLASlib) \ $(ATLASlib) $(LIBS) @undef suf *************** *** 3197,3201 **** @(pre)l2lib@(suf) @(pre)l1lib@(suf) @(pre)cblas@(suf) $(FLINKER) $(FCLINKFLAGS) -o $@ @(pre)@(rt)tst@(suf).o \ ! $(TESTlib) $(@(pt)FCLALIBS) $(@(pt)CBLASlib) $(@(pt)F77BLASlib) \ $(ATLASlib) $(LIBS) # All ATLAS libs, C interface to lapack --- 3195,3199 ---- @(pre)l2lib@(suf) @(pre)l1lib@(suf) @(pre)cblas@(suf) $(FLINKER) $(FCLINKFLAGS) -o $@ @(pre)@(rt)tst@(suf).o \ ! $(TESTlib) $(@(pt)LAPACKlib) $(@(pt)CBLASlib) $(@(pt)F77BLASlib) \ $(ATLASlib) $(LIBS) # All ATLAS libs, C interface to lapack *************** *** 3203,3207 **** @(pre)l2lib@(suf) @(pre)l1lib@(suf) @(pre)cblas@(suf) $(FLINKER) $(FCLINKFLAGS) -o $@ @(pre)@(rt)tstC@(suf).o \ ! $(TESTlib) $(@(pt)FCLALIBS) $(@(pt)CBLASlib) $(@(pt)F77BLASlib) \ $(ATLASlib) $(LIBS) # All ATLAS libs, F77 interface to lapack --- 3201,3205 ---- @(pre)l2lib@(suf) @(pre)l1lib@(suf) @(pre)cblas@(suf) $(FLINKER) $(FCLINKFLAGS) -o $@ @(pre)@(rt)tstC@(suf).o \ ! $(TESTlib) $(@(pt)LAPACKlib) $(@(pt)CBLASlib) $(@(pt)F77BLASlib) \ $(ATLASlib) $(LIBS) # All ATLAS libs, F77 interface to lapack *************** *** 3209,3213 **** @(pre)l2lib@(suf) @(pre)l1lib@(suf) @(pre)cblas@(suf) $(FLINKER) $(FCLINKFLAGS) -o $@ @(pre)@(rt)tstF@(suf).o \ ! $(TESTlib) $(@(pt)F77LAPACKlib) $(@(pt)CBLASlib) $(@(pt)F77BLASlib) \ $(ATLASlib) $(LIBS) # ATLAS lapack, system BLAS, C interface --- 3207,3211 ---- @(pre)l2lib@(suf) @(pre)l1lib@(suf) @(pre)cblas@(suf) $(FLINKER) $(FCLINKFLAGS) -o $@ @(pre)@(rt)tstF@(suf).o \ ! $(TESTlib) $(@(pt)LAPACKlib) $(@(pt)CBLASlib) $(@(pt)F77BLASlib) \ $(ATLASlib) $(LIBS) # ATLAS lapack, system BLAS, C interface *************** *** 3215,3219 **** @(pre)l2lib@(suf) @(pre)l1lib@(suf) @(pre)cblas@(suf) $(FLINKER) $(FCLINKFLAGS) -o $@ @(pre)@(rt)tst@(suf).o \ ! $(TESTlib) $(@(pt)FCLALIBS) $(BLASlib) \ $(@(pt)CBLASlib) $(ATLASlib) $(LIBS) # ATLAS lapack, system BLAS, F77 interface to lapack --- 3213,3217 ---- @(pre)l2lib@(suf) @(pre)l1lib@(suf) @(pre)cblas@(suf) $(FLINKER) $(FCLINKFLAGS) -o $@ @(pre)@(rt)tst@(suf).o \ ! $(TESTlib) $(@(pt)LAPACKlib) $(BLASlib) \ $(@(pt)CBLASlib) $(ATLASlib) $(LIBS) # ATLAS lapack, system BLAS, F77 interface to lapack *************** *** 3221,3225 **** @(pre)l2lib@(suf) @(pre)l1lib@(suf) @(pre)cblas@(suf) $(FLINKER) $(FCLINKFLAGS) -o $@ @(pre)@(rt)tstF@(suf).o \ ! $(TESTlib) $(@(pt)F77LAPACKlib) $(BLASlib) \ $(@(pt)CBLASlib) $(ATLASlib) $(LIBS) # System lapack, system BLAS, F77 interface to lapack --- 3219,3223 ---- @(pre)l2lib@(suf) @(pre)l1lib@(suf) @(pre)cblas@(suf) $(FLINKER) $(FCLINKFLAGS) -o $@ @(pre)@(rt)tstF@(suf).o \ ! $(TESTlib) $(@(pt)LAPACKlib) $(BLASlib) \ $(@(pt)CBLASlib) $(ATLASlib) $(LIBS) # System lapack, system BLAS, F77 interface to lapack *************** *** 4877,4884 **** @(pre)lib : @(pre)lib.grd @(pre)lib.grd : $(@(pre)obj) ! $(ARCHIVER) $(ARFLAGS) $(PTCLAPACKlib) $(@(pre)obj) ! $(RANLIB) $(PTCLAPACKlib) ! - $(ARCHIVER) $(ARFLAGS) $(PTF77LAPACKlib) $(@(pre)obj) ! - $(RANLIB) $(PTF77LAPACKlib) touch @(pre)lib.grd @(pre)clean: --- 4875,4880 ---- @(pre)lib : @(pre)lib.grd @(pre)lib.grd : $(@(pre)obj) ! $(ARCHIVER) $(ARFLAGS) $(PTLAPACKlib) $(@(pre)obj) ! $(RANLIB) $(PTLAPACKlib) touch @(pre)lib.grd @(pre)clean: *************** *** 5338,5343 **** clean : dclean sclean zclean cclean iclean ! @define tl @C@ ! @define tl @PTC@ @define ptdef @@ @define ptdef @-DATL_USEPTHREADS@ --- 5334,5339 ---- clean : dclean sclean zclean cclean iclean ! @define tl @@ ! @define tl @PT@ @define ptdef @@ @define ptdef @-DATL_USEPTHREADS@ *************** *** 5901,5905 **** $(MMTdir)/res/@(pre)MMRES.sum $(FLINKER) $(FCLINKFLAGS) -o $@ @(pre)@(rt)@(suf).o \ ! $(TESTlib) $(LAPACKlib) $(@(pt)CBLASlib) $(@(pt)F77BLASlib) \ $(ATLASlib) $(LIBS) --- 5897,5901 ---- $(MMTdir)/res/@(pre)MMRES.sum $(FLINKER) $(FCLINKFLAGS) -o $@ @(pre)@(rt)@(suf).o \ ! $(TESTlib) $(@(pt)LAPACKlib) $(@(pt)CBLASlib) $(@(pt)F77BLASlib) \ $(ATLASlib) $(LIBS) Index: atlconf.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlconf.base,v retrieving revision 1.220 retrieving revision 1.221 diff -C2 -d -r1.220 -r1.221 *** atlconf.base 22 Dec 2010 00:13:48 -0000 1.220 --- atlconf.base 11 Jan 2011 17:02:13 -0000 1.221 *************** *** 5919,5938 **** fprintf(fpout, " CBLASlib = $(LIBdir)/libcblas.a\n"); fprintf(fpout, " F77BLASlib = $(LIBdir)/libf77blas.a\n"); ! @skip fprintf(fpout, " LAPACKlib = $(LIBdir)/liblapack.a\n"); ! fprintf(fpout, " CLAPACKlib = $(LIBdir)/libclapack.a\n"); ! fprintf(fpout, " F77LAPACKlib = $(LIBdir)/libf77lapack.a\n"); @skip fprintf(fpout, " CLALIBS = $(CLAPACKlib) $(LAPACKlib)\n"); @skip fprintf(fpout, " FLALIBS = $(F77LAPACKlib) $(LAPACKlib)\n"); ! fprintf(fpout, " FCLALIBS = $(F77LAPACKlib) $(CLAPACKlib)\n"); if (THREADS) { fprintf(fpout, " PTCBLASlib = $(LIBdir)/libptcblas.a\n"); fprintf(fpout, " PTF77BLASlib = $(LIBdir)/libptf77blas.a\n"); ! fprintf(fpout, " PTCLAPACKlib = $(LIBdir)/libptclapack.a\n"); ! fprintf(fpout, " PTF77LAPACKlib = $(LIBdir)/libptf77lapack.a\n"); @skip fprintf(fpout, " PTCLALIBS = $(PTCLAPACKlib) $(LAPACKlib)\n"); @skip fprintf(fpout, " PTFLALIBS = $(PTF77LAPACKlib) $(LAPACKlib)\n"); ! fprintf(fpout, ! " PTFCLALIBS = $(PTF77LAPACKlib) $(PTCLAPACKlib)\n"); } fprintf(fpout, " TESTlib = $(LIBdir)/libtstatlas.a\n\n"); --- 5919,5939 ---- fprintf(fpout, " CBLASlib = $(LIBdir)/libcblas.a\n"); fprintf(fpout, " F77BLASlib = $(LIBdir)/libf77blas.a\n"); ! fprintf(fpout, " LAPACKlib = $(LIBdir)/liblapack.a\n"); ! @skip fprintf(fpout, " CLAPACKlib = $(LIBdir)/libclapack.a\n"); ! @skip fprintf(fpout, " F77LAPACKlib = $(LIBdir)/libf77lapack.a\n"); @skip fprintf(fpout, " CLALIBS = $(CLAPACKlib) $(LAPACKlib)\n"); @skip fprintf(fpout, " FLALIBS = $(F77LAPACKlib) $(LAPACKlib)\n"); ! @skip fprintf(fpout, " FCLALIBS = $(F77LAPACKlib) $(CLAPACKlib)\n"); if (THREADS) { fprintf(fpout, " PTCBLASlib = $(LIBdir)/libptcblas.a\n"); fprintf(fpout, " PTF77BLASlib = $(LIBdir)/libptf77blas.a\n"); ! fprintf(fpout, " PTLAPACKlib = $(LIBdir)/libptlapack.a\n"); ! @skip fprintf(fpout, " PTCLAPACKlib = $(LIBdir)/libptclapack.a\n"); ! @skip fprintf(fpout, " PTF77LAPACKlib = $(LIBdir)/libptf77lapack.a\n"); @skip fprintf(fpout, " PTCLALIBS = $(PTCLAPACKlib) $(LAPACKlib)\n"); @skip fprintf(fpout, " PTFLALIBS = $(PTF77LAPACKlib) $(LAPACKlib)\n"); ! @skip fprintf(fpout, ! @skip " PTFCLALIBS = $(PTF77LAPACKlib) $(PTCLAPACKlib)\n"); } fprintf(fpout, " TESTlib = $(LIBdir)/libtstatlas.a\n\n"); |
From: R. C. W. <rw...@us...> - 2011-01-10 15:29:31
|
Update of /cvsroot/math-atlas/AtlasBase/Clint In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv31966/Clint Modified Files: atlas-fint.base Log Message: Index: atlas-fint.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-fint.base,v retrieving revision 1.41 retrieving revision 1.42 diff -C2 -d -r1.41 -r1.42 *** atlas-fint.base 3 Jan 2011 18:46:19 -0000 1.41 --- atlas-fint.base 10 Jan 2011 15:29:20 -0000 1.42 *************** *** 2875,2879 **** @multidef rt larfb larft @multidef rt @(pt)geqrf @(pt)geqlf @(pt)gerqf @(pt)gelqf @(pt)gels ! @whiledef rt posv potrf potrs gesv getrf getrs lauum getri trtri @(pre)@(rt).o ATL_f77wrap_@(pre)@(rt).o --- 2875,2880 ---- @multidef rt larfb larft @multidef rt @(pt)geqrf @(pt)geqlf @(pt)gerqf @(pt)gelqf @(pt)gels ! @multidef rt @(pt)getrf getrs lauum getri trtri ! @whiledef rt posv potrf potrs @(pt)gesv @(pre)@(rt).o ATL_f77wrap_@(pre)@(rt).o |
From: R. C. W. <rw...@us...> - 2011-01-03 23:56:39
|
Update of /cvsroot/math-atlas/AtlasBase/Clint In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv26192/Clint Modified Files: atlas-lp.base atlas-make.base atlas-tlp.base Log Message: Index: atlas-lp.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-lp.base,v retrieving revision 1.58 retrieving revision 1.59 diff -C2 -d -r1.58 -r1.59 *** atlas-lp.base 3 Jan 2011 18:46:19 -0000 1.58 --- atlas-lp.base 3 Jan 2011 23:56:30 -0000 1.59 *************** *** 6,10 **** #if defined(ATL_USEPTHREADS) && !defined(ATLAS_PTALIAS_LAPACK_H) #define ATLAS_PTALIAS_LAPACK_H - @beginskip @whiledef pre z c d s @multidef rt getrf getrfC --- 6,9 ---- *************** *** 13,17 **** @endwhile @endwhile - @endskip #define ATL_ilaenv ATL_itlaenv #endif --- 12,15 ---- *************** *** 1154,1158 **** #include "atlas_lapack.h" #include "atlas_lamch.h" ! #include "atlas_ptalias_lapack.h" @beginskip --- 1152,1156 ---- #include "atlas_lapack.h" #include "atlas_lamch.h" ! @skip #include "atlas_ptalias_lapack.h" @beginskip *************** *** 1567,1571 **** #include "atlas_misc.h" #include "atlas_lapack.h" ! #include "atlas_ptalias_lapack.h" int ATL_getrf(const enum CBLAS_ORDER Order, const int M, const int N, --- 1565,1569 ---- #include "atlas_misc.h" #include "atlas_lapack.h" ! @skip #include "atlas_ptalias_lapack.h" int ATL_getrf(const enum CBLAS_ORDER Order, const int M, const int N, *************** *** 2905,2908 **** --- 2903,2907 ---- lauum lauumCU lauumCL lauumRU lauumRL getri getriC getriR + tgeqr2 tgerq2 tgeql2 tgelq2 tgetf2 geqr2 geqrf geqrr gerq2 gerqf gerqr *************** *** 2964,2968 **** #ifdef ATL_USEPTHREADS int ATL_@(pre)tge@(rt)2(ATL_CINT M, ATL_CINT N, @(typ) *A, ATL_CINT LDA, ! @(typ) *TAU, @(typ) *WORK); #endif int ATL_@(pre)ge@(rt)2(ATL_CINT M, ATL_CINT N, @(typ) *A, ATL_CINT LDA, --- 2963,2968 ---- #ifdef ATL_USEPTHREADS int ATL_@(pre)tge@(rt)2(ATL_CINT M, ATL_CINT N, @(typ) *A, ATL_CINT LDA, ! @(typ) *TAU, @(typ) *WORK, @(typ) *ws_T, ATL_INT LDT, ! @(typ) *WORKM, ATL_CINT buildT); #endif int ATL_@(pre)ge@(rt)2(ATL_CINT M, ATL_CINT N, @(typ) *A, ATL_CINT LDA, Index: atlas-make.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-make.base,v retrieving revision 1.339 retrieving revision 1.340 diff -C2 -d -r1.339 -r1.340 *** atlas-make.base 3 Jan 2011 18:46:19 -0000 1.339 --- atlas-make.base 3 Jan 2011 23:56:30 -0000 1.340 *************** *** 579,583 **** ATL_@(pre)larfb.o ATL_@(pre)larf.o ATL_@(pre)larfg.o ATL_@(pre)larft.o ATL_@(pre)larfp.o ATL_@(pre)lapy2.o ATL_@(pre)lascl.o ! ATL_@(pre)gels.o ATL_@(pre)trtrs.o @ptyp d s ATL_@(pre)lamch.o --- 579,583 ---- ATL_@(pre)larfb.o ATL_@(pre)larf.o ATL_@(pre)larfg.o ATL_@(pre)larft.o ATL_@(pre)larfp.o ATL_@(pre)lapy2.o ATL_@(pre)lascl.o ! ATL_@(pre)@(pt)gels.o ATL_@(pre)trtrs.o @ptyp d s ATL_@(pre)lamch.o *************** *** 5321,5325 **** @declare "@(pre)@(pt)obj = " y y @multidef rt @(pt)geqrf @(pt)geqlf @(pt)gerqf @(pt)gelqf @(pt)gels ! @whiledef rt posv potrf potrs gesv getrf getrs trtri lauum potri getri clapack_@(pre)@(rt).o @endwhile --- 5321,5326 ---- @declare "@(pre)@(pt)obj = " y y @multidef rt @(pt)geqrf @(pt)geqlf @(pt)gerqf @(pt)gelqf @(pt)gels ! @multidef rt @(pt)gesv @(pt)getrf getrs ! @whiledef rt posv potrf potrs trtri lauum potri getri clapack_@(pre)@(rt).o @endwhile Index: atlas-tlp.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-tlp.base,v retrieving revision 1.75 retrieving revision 1.76 diff -C2 -d -r1.75 -r1.76 *** atlas-tlp.base 3 Jan 2011 18:46:19 -0000 1.75 --- atlas-tlp.base 3 Jan 2011 23:56:30 -0000 1.76 *************** *** 13,17 **** #include "atlas_lapack.h" @ROUT lanbtst slvtst lanbsrch ! #include "atlas_ptalias_lapack.h" @ROUT lanbtst lanbsrch #ifdef ATL_ilaenv --- 13,17 ---- #include "atlas_lapack.h" @ROUT lanbtst slvtst lanbsrch ! @skip #include "atlas_ptalias_lapack.h" @ROUT lanbtst lanbsrch #ifdef ATL_ilaenv *************** *** 1760,1764 **** #include "atlas_misc.h" #include "atlas_lapack.h" ! #include "atlas_ptalias_lapack.h" #include "cblas.h" #include "atlas_cblastypealias.h" --- 1760,1764 ---- #include "atlas_misc.h" #include "atlas_lapack.h" ! @skip #include "atlas_ptalias_lapack.h" #include "cblas.h" #include "atlas_cblastypealias.h" |
From: R. C. W. <rw...@us...> - 2011-01-03 18:46:28
|
Update of /cvsroot/math-atlas/AtlasBase/Clint In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv18357/Clint Modified Files: atlas-fint.base atlas-lp.base atlas-make.base atlas-tlp.base Log Message: Index: atlas-fint.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-fint.base,v retrieving revision 1.40 retrieving revision 1.41 diff -C2 -d -r1.40 -r1.41 *** atlas-fint.base 10 Dec 2010 16:56:50 -0000 1.40 --- atlas-fint.base 3 Jan 2011 18:46:19 -0000 1.41 *************** *** 2853,2856 **** --- 2853,2857 ---- @(pt)lib : @(pt)reflapack.grd d@(pt)lib s@(pt)lib z@(pt)lib c@(pt)lib + @beginskip @multidef irt ATL_f77wrap_i@(pt)laenv @multidef irt icmax1 izmax1 ilaver iparmq lsamen ilaenv *************** *** 2861,2869 **** @endwhile @enddeclare @whiledef pre z c d s @addkeys ptyp=@(pre) @declare "@(pre)@(pt)obj = " y y ! ieeeck.o ATL_f77wrap_@(pre)getnb.o @(pre)potri.o --- 2862,2871 ---- @endwhile @enddeclare + @endskip @whiledef pre z c d s @addkeys ptyp=@(pre) @declare "@(pre)@(pt)obj = " y y ! ieeeck.o ATL_f77wrap_i@(pt)laenv.o ilaenv.o ATL_f77wrap_@(pre)getnb.o @(pre)potri.o *************** *** 2913,2920 **** @endwhile ! @whiledef rt ilaenv ! ATL_f77wrap_@(pt)@(rt).o : $(mySRCdir)/f77wrap/ATL_f77wrap_@(rt).c ! $(ICC) $(ICCFLAGS) -o $@ @(ptdef) -c $(mySRCdir)/f77wrap/ATL_f77wrap_@(rt).c ! @endwhile @(pt)reflarebuild : # force rebuild of netlib lapack rm -f $(FLAdir)/lapack_$(ARCH).a --- 2915,2920 ---- @endwhile ! ATL_f77wrap_i@(pt)laenv.o : $(mySRCdir)/f77wrap/ATL_f77wrap_ilaenv.c ! $(ICC) $(ICCFLAGS) -o $@ @(ptdef) -c $(mySRCdir)/f77wrap/ATL_f77wrap_ilaenv.c @(pt)reflarebuild : # force rebuild of netlib lapack rm -f $(FLAdir)/lapack_$(ARCH).a *************** *** 2934,2937 **** --- 2934,2938 ---- rm -rf flapack $(RANLIB) $(@(lib)LAPACKlib) + @undef ptdef @undef lib @endwhile Index: atlas-lp.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-lp.base,v retrieving revision 1.57 retrieving revision 1.58 diff -C2 -d -r1.57 -r1.58 *** atlas-lp.base 17 Dec 2010 16:00:57 -0000 1.57 --- atlas-lp.base 3 Jan 2011 18:46:19 -0000 1.58 *************** *** 2803,2806 **** --- 2803,2807 ---- #include "atlas_misc.h" #include "cblas.h" + #include "atlas_ptalias_lapack.h" /* *************** *** 2920,2926 **** @skip int ATL_IEEECHK(int DOALL, float zero, float one); - #ifdef ATL_USEPTHREADS - #define ATL_ilaenv ATL_itlaenv - #endif int clapack_ilaenv(enum ATL_ISPEC ISPEC, enum ATL_LAROUT ROUT, unsigned int OPTS, int N1, int N2, int N3, int N4); --- 2921,2924 ---- *************** *** 2945,2948 **** --- 2943,2950 ---- int ATL_@(pre)getrf(const enum CBLAS_ORDER Order, const int M, const int N, @(typ) *A, const int lda, int *ipiv); + #ifdef ATL_USEPTHREADS + int ATL_@(pre)tgetf2(ATL_CINT M, ATL_CINT N, @(typ) *A, ATL_CINT lda, + int *ipiv); + #endif int ATL_@(pre)getf2(ATL_CINT M, ATL_CINT N, @(typ) *A, ATL_CINT lda, int *ipiv); void ATL_@(pre)getrs(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE Trans, *************** *** 2960,2963 **** --- 2962,2969 ---- void ATL_@(pre)lauumCL(const int N, @(typ) *A, const int lda); @whiledef rt qr rq ql lq + #ifdef ATL_USEPTHREADS + int ATL_@(pre)tge@(rt)2(ATL_CINT M, ATL_CINT N, @(typ) *A, ATL_CINT LDA, + @(typ) *TAU, @(typ) *WORK); + #endif int ATL_@(pre)ge@(rt)2(ATL_CINT M, ATL_CINT N, @(typ) *A, ATL_CINT LDA, @(typ) *TAU, @(typ) *WORK); Index: atlas-make.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-make.base,v retrieving revision 1.338 retrieving revision 1.339 diff -C2 -d -r1.338 -r1.339 *** atlas-make.base 18 Dec 2010 00:29:01 -0000 1.338 --- atlas-make.base 3 Jan 2011 18:46:19 -0000 1.339 *************** *** 565,575 **** @addkeys ptyp=@(pre) @declare "@(pre)@(pt)obj = " y y ATL_i@(pt)laenv.o ATL_@(pre)@(pt)getrfC.o ! ATL_@(pre)getrf.o ATL_@(pre)getrfR.o ATL_@(pre)getf2.o ATL_@(pre)laswp.o ATL_@(pre)potrf.o ATL_@(pre)potrfU.o ATL_@(pre)potrfL.o ! ATL_@(pre)geqr2.o ATL_@(pre)@(pt)geqrf.o ATL_@(pre)geqrr.o ! ATL_@(pre)gerq2.o ATL_@(pre)@(pt)gerqf.o ATL_@(pre)gerqr.o ! ATL_@(pre)geql2.o ATL_@(pre)@(pt)geqlf.o ATL_@(pre)geqlr.o ! ATL_@(pre)gelq2.o ATL_@(pre)@(pt)gelqf.o ATL_@(pre)gelqr.o ATL_@(pre)ormqr.o ATL_@(pre)ormrq.o ATL_@(pre)ormql.o ATL_@(pre)ormlq.o ATL_@(pre)larfb.o ATL_@(pre)larf.o ATL_@(pre)larfg.o ATL_@(pre)larft.o --- 565,579 ---- @addkeys ptyp=@(pre) @declare "@(pre)@(pt)obj = " y y + @mif pt = "t + ATL_@(pre)tgetf2.o + ATL_@(pre)gerq2.o ATL_@(pre)geqr2.o ATL_@(pre)gelq2.o ATL_@(pre)geql2.o + @endmif ATL_i@(pt)laenv.o ATL_@(pre)@(pt)getrfC.o ! ATL_@(pre)@(pt)getrf.o ATL_@(pre)getrfR.o ATL_@(pre)getf2.o ATL_@(pre)laswp.o ATL_@(pre)potrf.o ATL_@(pre)potrfU.o ATL_@(pre)potrfL.o ! ATL_@(pre)geqr2.o ATL_@(pre)@(pt)geqrf.o ATL_@(pre)@(pt)geqrr.o ! ATL_@(pre)gerq2.o ATL_@(pre)@(pt)gerqf.o ATL_@(pre)@(pt)gerqr.o ! ATL_@(pre)geql2.o ATL_@(pre)@(pt)geqlf.o ATL_@(pre)@(pt)geqlr.o ! ATL_@(pre)gelq2.o ATL_@(pre)@(pt)gelqf.o ATL_@(pre)@(pt)gelqr.o ATL_@(pre)ormqr.o ATL_@(pre)ormrq.o ATL_@(pre)ormql.o ATL_@(pre)ormlq.o ATL_@(pre)larfb.o ATL_@(pre)larf.o ATL_@(pre)larfg.o ATL_@(pre)larft.o *************** *** 2711,2714 **** --- 2715,2721 ---- cd $(BLDdir)/interfaces/lapack/C/src/ ; $(MAKE) ptlib - cd $(BLDdir)/interfaces/lapack/F77/src/ ; $(MAKE) ptlib + if [ -d "$(FLAdir)" ]; then \ + cd $(BLDdir)/interfaces/lapack/C2F/src ; $(MAKE) ptlib ; \ + fi IBuildLibs: Index: atlas-tlp.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-tlp.base,v retrieving revision 1.74 retrieving revision 1.75 diff -C2 -d -r1.74 -r1.75 *** atlas-tlp.base 13 Dec 2010 17:45:38 -0000 1.74 --- atlas-tlp.base 3 Jan 2011 18:46:19 -0000 1.75 *************** *** 12,15 **** --- 12,17 ---- #include "atlas_misc.h" #include "atlas_lapack.h" + @ROUT lanbtst slvtst lanbsrch + #include "atlas_ptalias_lapack.h" @ROUT lanbtst lanbsrch #ifdef ATL_ilaenv *************** *** 17,21 **** #endif @ROUT lanbtst slvtst lanbsrch - #include "atlas_ptalias_lapack.h" #include "cblas.h" #include "atlas_cblastypealias.h" --- 19,22 ---- |
From: R. C. W. <rw...@us...> - 2010-12-23 18:37:57
|
Update of /cvsroot/math-atlas/AtlasBase/TexDoc In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv27769/TexDoc Modified Files: ChangeLog Log Message: Index: ChangeLog =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/TexDoc/ChangeLog,v retrieving revision 1.221 retrieving revision 1.222 diff -C2 -d -r1.221 -r1.222 *** ChangeLog 13 Nov 2010 00:51:15 -0000 1.221 --- ChangeLog 23 Dec 2010 18:37:47 -0000 1.222 *************** *** 1,4 **** ATLAS 3.9.33 released 11/xx/10, changes from 3.9.32: ! ATLAS 3.9.32 released 11/02/10, changes from 3.9.31: * Fixed error in ATL_cgemvN_8x4_sse3.c, causing seg fault if BETA=0 --- 1,7 ---- ATLAS 3.9.33 released 11/xx/10, changes from 3.9.32: ! * Large number of bug fixes reported by Tom Wallace, mostly print/format errs ! * Cast threading BLAS indexing to size_t to avoid overflow ! * Rewrite of lapack libs, so we have threaded/serial versions. ! * Addition of PCA codes for LU and QR ATLAS 3.9.32 released 11/02/10, changes from 3.9.31: * Fixed error in ATL_cgemvN_8x4_sse3.c, causing seg fault if BETA=0 |
From: R. C. W. <rw...@us...> - 2010-12-23 18:37:56
|
Update of /cvsroot/math-atlas/AtlasBase In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv27769 Modified Files: cw.inc gen.inc make.base Log Message: Index: cw.inc =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/cw.inc,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** cw.inc 30 Oct 2010 15:51:58 -0000 1.21 --- cw.inc 23 Dec 2010 18:37:47 -0000 1.22 *************** *** 8,12 **** @LANG ! @ifdef ! ver ! @define ver @3.9.32@ @endifdef @ifdef ! cwauth --- 8,12 ---- @LANG ! @ifdef ! ver ! @define ver @3.9.33@ @endifdef @ifdef ! cwauth Index: gen.inc =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/gen.inc,v retrieving revision 1.117 retrieving revision 1.118 diff -C2 -d -r1.117 -r1.118 *** gen.inc 30 Oct 2010 15:51:58 -0000 1.117 --- gen.inc 23 Dec 2010 18:37:47 -0000 1.118 *************** *** 27,31 **** @define pw01 @-def cdate 2001 -def author "Peter Soendergaard" -def contrib "R. Clint Whaley"@ @ifdef ! ver ! @define ver @3.9.32@ @endifdef @ifdef ! author --- 27,31 ---- @define pw01 @-def cdate 2001 -def author "Peter Soendergaard" -def contrib "R. Clint Whaley"@ @ifdef ! ver ! @define ver @3.9.33@ @endifdef @ifdef ! author Index: make.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/make.base,v retrieving revision 1.429 retrieving revision 1.430 diff -C2 -d -r1.429 -r1.430 *** make.base 18 Dec 2010 00:29:01 -0000 1.429 --- make.base 23 Dec 2010 18:37:47 -0000 1.430 *************** *** 385,389 **** bzip2 atlas.tar ! mv atlas.tar.bz2 atlas3.9.32.tar.bz2 # # ATLAS/src/blas/level1/ATL_asum.c ATLAS/src/blas/level1/ATL_dot.c --- 385,389 ---- bzip2 atlas.tar ! mv atlas.tar.bz2 atlas3.9.33.tar.bz2 # # ATLAS/src/blas/level1/ATL_asum.c ATLAS/src/blas/level1/ATL_dot.c |
From: R. C. W. <rw...@us...> - 2010-12-23 18:37:56
|
Update of /cvsroot/math-atlas/AtlasBase/Clint In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv27769/Clint Modified Files: atlas-kmm.base atlas-parse.base atlas-thr.base atlas-tl1.base atlas.base script.base Log Message: Index: atlas-kmm.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-kmm.base,v retrieving revision 1.64 retrieving revision 1.65 diff -C2 -d -r1.64 -r1.65 *** atlas-kmm.base 14 Sep 2010 21:37:12 -0000 1.64 --- atlas-kmm.base 23 Dec 2010 18:37:47 -0000 1.65 *************** *** 226,230 **** #endif @ROUT ATL_myger ! static void ATL_myger(const M, const N, const TYPE *X, const TYPE *Y, const TYPE beta, TYPE *C, const int ldc) { --- 226,230 ---- #endif @ROUT ATL_myger ! static void ATL_myger(const int M, const int N, const TYPE *X, const TYPE *Y, const TYPE beta, TYPE *C, const int ldc) { Index: atlas-parse.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-parse.base,v retrieving revision 1.110 retrieving revision 1.111 diff -C2 -d -r1.110 -r1.111 *** atlas-parse.base 21 Dec 2010 17:26:24 -0000 1.110 --- atlas-parse.base 23 Dec 2010 18:37:47 -0000 1.111 *************** *** 716,720 **** @iexp ip @(ip) 1 + /* procedure @(ip) */ ! static int ATL_SubGoodGccIn@up@(rt)Nodes ( ATL_@(rt)node_t *bp /* queue to make sub in */ --- 716,720 ---- @iexp ip @(ip) 1 + /* procedure @(ip) */ ! static void ATL_SubGoodGccIn@up@(rt)Nodes ( ATL_@(rt)node_t *bp /* queue to make sub in */ *************** *** 740,744 **** @iexp ip @(ip) 1 + /* procedure @(ip) */ ! static int ATL_UnsubGoodGccIn@up@(rt)Nodes ( ATL_@(rt)node_t *bp /* queue to make reverse sub in */ --- 740,744 ---- @iexp ip @(ip) 1 + /* procedure @(ip) */ ! static void ATL_UnsubGoodGccIn@up@(rt)Nodes ( ATL_@(rt)node_t *bp /* queue to make reverse sub in */ *************** *** 765,769 **** @iexp ip @(ip) 1 + /* procedure @(ip) */ ! static int ResubGoodGccIn@up@(rt)Nodes ( ATL_@(rt)node_t *bp /* queue to make sub in */ --- 765,769 ---- @iexp ip @(ip) 1 + /* procedure @(ip) */ ! static void ResubGoodGccIn@up@(rt)Nodes ( ATL_@(rt)node_t *bp /* queue to make sub in */ *************** *** 1725,1729 **** @iexp ip @(ip) 1 + /* procedure @(ip) */ ! void *SortByTrans ( ATL_@(rt)node_t *bp, /* original kernels wt mixture of trans cases */ --- 1725,1729 ---- @iexp ip @(ip) 1 + /* procedure @(ip) */ ! void SortByTrans ( ATL_@(rt)node_t *bp, /* original kernels wt mixture of trans cases */ Index: atlas-thr.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-thr.base,v retrieving revision 1.84 retrieving revision 1.85 diff -C2 -d -r1.84 -r1.85 *** atlas-thr.base 18 Dec 2010 00:42:50 -0000 1.84 --- atlas-thr.base 23 Dec 2010 18:37:47 -0000 1.85 *************** *** 96,100 **** void *ATL_log2tlaunch(void *vp); /* min spanning tree launch */ ! #define MindxT(A_,i_) ((void*)( ((char*)(A_)) + (i_) )) #endif /* end of #ifdef protecting include file from redundant inclusion */ --- 96,100 ---- void *ATL_log2tlaunch(void *vp); /* min spanning tree launch */ ! #define MindxT(A_,i_) ((void*)( ((char*)(A_)) + ((size_t)i_) )) #endif /* end of #ifdef protecting include file from redundant inclusion */ *************** *** 751,755 **** { int pR, pL, rL, rR, np, eltsh; ! ATL_INT nblksL, nblksR, i, j; double d; --- 751,756 ---- { int pR, pL, rL, rR, np, eltsh; ! ATL_INT nblksL, nblksR, j; ! size_t i; double d; *************** *** 858,862 **** { int pR, pL, rL, rR, np, eltsh; ! ATL_INT nblksL, nblksR, i, j; double d; --- 859,864 ---- { int pR, pL, rL, rR, np, eltsh; ! ATL_INT nblksL, nblksR, j; ! size_t i; double d; *************** *** 1022,1026 **** { int pR, pL, rL, rR, np, eltsh; ! ATL_INT nblksL, nblksR, i, j; double d; --- 1024,1029 ---- { int pR, pL, rL, rR, np, eltsh; ! ATL_INT nblksL, nblksR, j; ! size_t i; double d; *************** *** 2406,2411 **** symms[j].side = Side; symms[j].uplo = Uplo; ! b = MindxT(b, ATL_MulBySize(ldb)*n); ! c = MindxT(c, ATL_MulBySize(ldc)*n); } for (; i < ATL_NTHREADS; i++) /* flag rest of struct as uninitialized */ --- 2409,2414 ---- symms[j].side = Side; symms[j].uplo = Uplo; ! b = MindxT(b, ATL_MulBySize((size_t)ldb)*n); ! c = MindxT(c, ATL_MulBySize((size_t)ldc)*n); } for (; i < ATL_NTHREADS; i++) /* flag rest of struct as uninitialized */ *************** *** 2463,2468 **** symms[j].side = Side; symms[j].uplo = Uplo; ! b = MindxT(b, ATL_MulBySize(n)); ! c = MindxT(c, ATL_MulBySize(n)); } for (; i < ATL_NTHREADS; i++) /* flag rest of struct as uninitialized */ --- 2466,2471 ---- symms[j].side = Side; symms[j].uplo = Uplo; ! b = MindxT(b, ATL_MulBySize((size_t)n)); ! c = MindxT(c, ATL_MulBySize((size_t)n)); } for (; i < ATL_NTHREADS; i++) /* flag rest of struct as uninitialized */ *************** *** 2724,2737 **** 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)); } --- 2727,2740 ---- nL = nbL*nb + rL; nR = nbR*nb + rR; ! sc = MindxT(C, (((size_t)nL*(syp->ldc+1))<<eltsh)); if (syp->trans == AtlasNoTrans) { ! A1 = MindxT(A, ((size_t)nL<<eltsh)); ! B1 = MindxT(B, ((size_t)nL<<eltsh)); } else /* index like transpose */ { ! A1 = MindxT(A, (((size_t)nL*syp->lda)<<eltsh)); ! B1 = MindxT(B, (((size_t)nL*syp->ldb)<<eltsh)); } *************** *** 2739,2743 **** 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); --- 2742,2746 ---- if (syp->Uplo == AtlasUpper) { ! gc = MindxT(C, (((size_t)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); *************** *** 2747,2751 **** 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); --- 2750,2754 ---- else { ! gc = MindxT(C, ((size_t)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); *************** *** 3774,3780 **** syp[j].M = m; syp[j].N = n; ! syp[j].T = MindxT(C,(n*incC)); ! syp[j].C = (n > 0) ? MindxT(C,(n<<eltsh)) : NULL; ! syp[j].A0 = (ISNOTRANS) ? MindxT(A,(n<<eltsh)) : MindxT(A,n*incA); syp[j].A = syp[j].A0; syp[j].B = A; --- 3777,3784 ---- syp[j].M = m; syp[j].N = n; ! syp[j].T = MindxT(C,((size_t)n*incC)); ! syp[j].C = (n > 0) ? MindxT(C,((size_t)n<<eltsh)) : NULL; ! syp[j].A0 = (ISNOTRANS) ? MindxT(A,((size_t)n<<eltsh)) ! : MindxT((size_t)A,n*incA); syp[j].A = syp[j].A0; syp[j].B = A; *************** *** 3804,3818 **** syp[j].N = n; JJ = N - n - m; ! syp[j].T = MindxT(C,(JJ*incC)); ! syp[j].C = (n > 0) ? MindxT(C,(JJ*incC+m*(ldc<<eltsh))) : NULL; if (ISNOTRANS) { ! syp[j].A = syp[j].A0 = MindxT(A,(JJ<<eltsh)); ! syp[j].B = MindxT(syp[j].A0, (m<<eltsh)); } else { ! syp[j].A = syp[j].A0 = MindxT(A,(JJ*incA)); ! syp[j].B = MindxT(syp[j].A0, (m*incA)); } n += m; --- 3808,3822 ---- syp[j].N = n; JJ = N - n - m; ! syp[j].T = MindxT(C,((size_t)JJ*incC)); ! syp[j].C = (n > 0) ? MindxT(C,((size_t)JJ*incC+m*(ldc<<eltsh))) : NULL; if (ISNOTRANS) { ! syp[j].A = syp[j].A0 = MindxT(A,((size_t)JJ<<eltsh)); ! syp[j].B = MindxT(syp[j].A0, ((size_t)m<<eltsh)); } else { ! syp[j].A = syp[j].A0 = MindxT(A,((size_t)JJ*incA)); ! syp[j].B = MindxT(syp[j].A0, ((size_t)m*incA)); } n += m; Index: atlas-tl1.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-tl1.base,v retrieving revision 1.55 retrieving revision 1.56 diff -C2 -d -r1.55 -r1.56 *** atlas-tl1.base 21 Dec 2010 17:26:24 -0000 1.55 --- atlas-tl1.base 23 Dec 2010 18:37:47 -0000 1.56 *************** *** 280,283 **** --- 280,284 ---- #include <assert.h> #include <string.h> + #include <ctype.h> @ROUT dotsrch Index: atlas.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas.base,v retrieving revision 1.246 retrieving revision 1.247 diff -C2 -d -r1.246 -r1.247 *** atlas.base 21 Dec 2010 17:26:24 -0000 1.246 --- atlas.base 23 Dec 2010 18:37:47 -0000 1.247 *************** *** 114,118 **** * main() */ ! fprintf(fpout, "\nmain(int nargs, char **args[])\n{\n"); fprintf(fpout, " long nreps = 16000000/%d;\n", (2*nama)); fprintf(fpout, " int i, k;\n"); --- 114,118 ---- * main() */ ! fprintf(fpout, "\nmain(int nargs, char **args)\n{\n"); fprintf(fpout, " long nreps = 16000000/%d;\n", (2*nama)); fprintf(fpout, " int i, k;\n"); *************** *** 1641,1645 **** else { ! fprintf(stderr, " %d:DOING FULL MU/NU SEARCH!\n", __LINE__, mf, mfG); Ng = N; } --- 1641,1645 ---- else { ! fprintf(stderr, " %d:DOING FULL MU/NU SEARCH!\n", __LINE__); Ng = N; } *************** *** 5188,5192 **** * Echo best case to screen and return */ ! fprintf(stdout, "\nBEST OF USER CASES AND EXTERNEL SEARCHES:\n"); PrintMMNodes(stdout, mmb); KillAllMMNodes(mmb); --- 5188,5192 ---- * Echo best case to screen and return */ ! fprintf(stdout, "\nBEST OF USER CASES AND EXTERNAL SEARCHES:\n"); PrintMMNodes(stdout, mmb); KillAllMMNodes(mmb); *************** *** 5251,5255 **** @skip WriteMMFile(ln, mmB); WriteMMFileWithPath(pre, "res", "eMMRES.sum", mmB); ! fprintf(stdout, "\nBEST OF USER CASES AND EXTERNEL SEARCHES:\n"); PrintMMNodes(stdout, mmB); KillAllMMNodes(mmB); --- 5251,5255 ---- @skip WriteMMFile(ln, mmB); WriteMMFileWithPath(pre, "res", "eMMRES.sum", mmB); ! fprintf(stdout, "\nBEST OF USER CASES AND EXTERNAL SEARCHES:\n"); PrintMMNodes(stdout, mmB); KillAllMMNodes(mmB); *************** *** 32879,32882 **** --- 32879,32883 ---- #include <assert.h> #include <string.h> + #include <ctype.h> @extract -b @(basd)/atlas.base rout=usercase Index: script.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/script.base,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** script.base 28 Oct 2010 22:08:36 -0000 1.32 --- script.base 23 Dec 2010 18:37:47 -0000 1.33 *************** *** 2218,2225 **** --- 2218,2227 ---- { names[nmu*nnu+j] = DupString(p->rout); + @beginskip if (p->YU != nus[j]) while(1); if (p->XU != mmin) while(1); + @endskip assert(p->YU == nus[j]); assert(p->XU == mmin); |
From: R. C. W. <rw...@us...> - 2010-12-22 00:13:57
|
Update of /cvsroot/math-atlas/AtlasBase/Clint In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv6714/Clint Modified Files: atlconf.base Log Message: Index: atlconf.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlconf.base,v retrieving revision 1.219 retrieving revision 1.220 diff -C2 -d -r1.219 -r1.220 *** atlconf.base 21 Dec 2010 17:26:24 -0000 1.219 --- atlconf.base 22 Dec 2010 00:13:48 -0000 1.220 *************** *** 6056,6060 **** break; } ! goodgcc = (j < NCOMP) ? comps[j] : "gcc"; fprintf(fpout, " GOODGCC = %s", goodgcc); if (gccflags) --- 6056,6060 ---- break; } ! goodgcc = (i < NCOMP) ? comps[i] : "gcc"; fprintf(fpout, " GOODGCC = %s", goodgcc); if (gccflags) |
From: R. C. W. <rw...@us...> - 2010-12-21 18:34:05
|
Update of /cvsroot/math-atlas/AtlasBase/Clint In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv15755/Clint Modified Files: atlas-lvl2.base atlas-parse.base atlas-tl1.base atlas.base atlconf.base Log Message: Index: atlas-lvl2.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-lvl2.base,v retrieving revision 1.234 retrieving revision 1.235 diff -C2 -d -r1.234 -r1.235 *** atlas-lvl2.base 4 Dec 2010 16:56:06 -0000 1.234 --- atlas-lvl2.base 21 Dec 2010 17:26:24 -0000 1.235 *************** *** 17450,17454 **** tL = tN; } ! while (1); printf("\n"); --- 17450,17454 ---- tL = tN; } ! while (nN); /* stop if NX = 0 */ printf("\n"); Index: atlas-parse.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-parse.base,v retrieving revision 1.109 retrieving revision 1.110 diff -C2 -d -r1.109 -r1.110 *** atlas-parse.base 29 Oct 2010 23:58:10 -0000 1.109 --- atlas-parse.base 21 Dec 2010 17:26:24 -0000 1.110 *************** *** 322,326 **** do { ! for (i=0; !iswspace(str[i]) && str[i] != ',' && str[i] && i < 64; i++) asmname[i] = str[i]; asmname[i] = '\0'; --- 322,326 ---- do { ! for (i=0; !isspace(str[i]) && str[i] != ',' && str[i] && i < 64; i++) asmname[i] = str[i]; asmname[i] = '\0'; *************** *** 412,416 **** len += inc; ln = GetLongerString(ln, len); ! if (!fgets(ln+i, inc, fpin)); return(ln); for (; ln[i]; i++); /* find end of string */ --- 412,416 ---- len += inc; ln = GetLongerString(ln, len); ! if (!fgets(ln+i, inc, fpin)) return(ln); for (; ln[i]; i++); /* find end of string */ Index: atlas-tl1.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-tl1.base,v retrieving revision 1.54 retrieving revision 1.55 diff -C2 -d -r1.54 -r1.55 *** atlas-tl1.base 20 Dec 2010 23:54:50 -0000 1.54 --- atlas-tl1.base 21 Dec 2010 17:26:24 -0000 1.55 *************** *** 1800,1804 **** @ROUT iamaxsrch fprintf(fpout, " return(0);\n"); ! @ROUT nrmsrch asumsrch fprintf(fpout, " return(ATL_rzero);\n"); @ROUT dotsrch --- 1800,1804 ---- @ROUT iamaxsrch fprintf(fpout, " return(0);\n"); ! @ROUT nrm2srch asumsrch fprintf(fpout, " return(ATL_rzero);\n"); @ROUT dotsrch Index: atlas.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas.base,v retrieving revision 1.245 retrieving revision 1.246 diff -C2 -d -r1.245 -r1.246 *** atlas.base 20 Dec 2010 23:54:50 -0000 1.245 --- atlas.base 21 Dec 2010 17:26:24 -0000 1.246 *************** *** 20420,20423 **** --- 20420,20443 ---- return(gethrtime()*1.0e-9); } + #elif defined(POSIX_HR) /* use the POSIX HR timers */ + #include <time.h> + double ATL_walltime(void) + { + struct timespec ts; + static double t0; + double res; + static int INIT = 0; + + if (INIT) + { + clock_gettime(CLOCK_REALTIME, &ts); + res = ts.tv_sec + 1.0e-9 * ts.tv_nsec; + return(res - t0); + } + clock_gettime(CLOCK_REALTIME, &ts); + t0 = ts.tv_sec + 1.0e-9 * ts.tv_nsec; + INIT = 1; + return(0.0); + } /* * Without gcc, I know no standard Windows wall-timer, so use cputime *************** *** 20487,20490 **** --- 20507,20530 ---- return(0.0); } + #elif defined(POSIX_HR) /* use the POSIX HR timers */ + #include <time.h> + double ATL_cputime(void) + { + struct timespec ts; + static double t0; + double res; + static int INIT = 0; + + if (INIT) + { + clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts); + res = ts.tv_sec + 1.0e-9 * ts.tv_nsec; + return(res - t0); + } + clock_gettime(CLOCK_PROCESS_CPUTIME_ID,&ts); + t0 = ts.tv_sec + 1.0e-9 * ts.tv_nsec; + INIT = 1; + return(0.0); + } #elif defined(UseTimes) #include <stdlib.h> Index: atlconf.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlconf.base,v retrieving revision 1.218 retrieving revision 1.219 diff -C2 -d -r1.218 -r1.219 *** atlconf.base 10 Dec 2010 16:56:50 -0000 1.218 --- atlconf.base 21 Dec 2010 17:26:24 -0000 1.219 *************** *** 3335,3342 **** else if (OS == OSAIX) sp = (ptrbits == 64) ? "-maix64" : "-maix32"; ! else if (ptrbits == 64) ! sp = "-m64"; ! else if (ptrbits == 32) ! sp = "-m32"; return(sp); } --- 3335,3345 ---- else if (OS == OSAIX) sp = (ptrbits == 64) ? "-maix64" : "-maix32"; ! else if ((MachIsX86(arch) || MachIsPPC(arch) || MachIsUS(arch))) ! { ! if (ptrbits == 64) ! sp = "-m64"; ! else if (ptrbits == 32) ! sp = "-m32"; ! } return(sp); } |
From: R. C. W. <rw...@us...> - 2010-12-21 17:26:36
|
Update of /cvsroot/math-atlas/AtlasBase/Students In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv15755/Students Modified Files: qr.base ssegen.base Log Message: Index: qr.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Students/qr.base,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** qr.base 18 Dec 2010 00:29:01 -0000 1.26 --- qr.base 21 Dec 2010 17:26:24 -0000 1.27 *************** *** 934,947 **** // NOTE : TODO : SIJU : ! Surround the following code with right if --else based some DEFINE //Calling qr2 serial ! ATL_geqr2(M, minMN, A, LDA, TAU, ws_QR2); ! if (buildT || (N > minMN) ) ! ATL_larft(LAForward, LAColumnStore, M, minMN, A, LDA, TAU, ws_T, LDT); ! ! ! //Calling qr2 PCA ! ATL_tgeqr2(M, minMN, A, LDA, TAU, ws_QR2, ws_T, LDT, WORKM, N); /* --- 934,948 ---- // NOTE : TODO : SIJU : ! // Surround the following code with right if --else based some DEFINE //Calling qr2 serial ! #ifdef ATL_USEPTHREADS ! //Calling qr2 PCA ! ATL_tgeqr2(M, minMN, A, LDA, TAU, ws_QR2, ws_T, LDT, WORKM, N); ! #else ! ATL_geqr2(M, minMN, A, LDA, TAU, ws_QR2); ! if (buildT || (N > minMN) ) ! ATL_larft(LAForward, LAColumnStore, M, minMN, A, LDA, TAU, ws_T, LDT); ! #endif /* *************** *** 1301,1316 **** if (ATL_MulBySize(M)*minMN <= LA_CE || minMN <= 4 || !leftMN || !right) { ! //TODO : SIJU surround with proper if-else for pca call ! ATL_geql2(M, minMN, A+((N-minMN)*LDA2), LDA, TAU, ws_LQ2); ! if (buildT || (N > minMN) ) ! { ! ATL_larft(LABackward, LAColumnStore, M, minMN, A+((N-minMN)*LDA2), LDA, TAU, ws_T, LDT); /* Build the T matrix. */ ! } ! ! ! //PCA call ! ATL_tgeql2(M, minMN, A+((N-minMN)*LDA2), LDA, TAU, ws_LQ2, ws_T, LDT, WORKM, N); /* --- 1302,1318 ---- if (ATL_MulBySize(M)*minMN <= LA_CE || minMN <= 4 || !leftMN || !right) { ! #ifdef ATL_USEPTHREADS ! //PCA call ! ATL_tgeql2(M, minMN, A+((N-minMN)*LDA2), LDA, TAU, ws_LQ2, ! ws_T, LDT, WORKM, N); ! #else ! ATL_geql2(M, minMN, A+((N-minMN)*LDA2), LDA, TAU, ws_LQ2); ! if (buildT || (N > minMN) ) ! { ! ATL_larft(LABackward, LAColumnStore, M, minMN, A+((N-minMN)*LDA2), LDA, TAU, ws_T, LDT); /* Build the T matrix. */ ! } ! #endif /* *************** *** 1521,1527 **** ATL_CINT minMN = Mmin(M, N), maxMN = Mmax(M, N); ATL_INT n, nb, j; ! TYPE *ws_LQ2, *ws_T, *ws_larfb; /* Workspace for LQ2,T, larfb */ void *vp=NULL; nb = clapack_ilaenv(LAIS_OPT_NB, LAgeqrf, MYOPT+LALeft+LALower, M, N,-1,-1); --- 1523,1537 ---- ATL_CINT minMN = Mmin(M, N), maxMN = Mmax(M, N); ATL_INT n, nb, j; ! TYPE *ws_LQ2, *ws_T, *ws_larfb, *ws_CP; /* Workspace for LQ2,T, larfb */ void *vp=NULL; + #ifdef TCPLX + TYPE ONE[2] = {ATL_rone, ATL_rzero}; + #else + #define ONE ATL_rone + #endif + + + nb = clapack_ilaenv(LAIS_OPT_NB, LAgeqrf, MYOPT+LALeft+LALower, M, N,-1,-1); *************** *** 1568,1571 **** --- 1578,1583 ---- ws_LQ2 = WORK +(nb SHIFT)*nb; /* After T Work space */ ws_larfb = ws_LQ2 + (maxMN SHIFT); /* After workspace for T and LQ2 */ + + ws_CP = malloc(ATL_MulBySize(maxMN*nb + ATL_Cachelen)); /* *************** *** 1973,1979 **** ATL_CINT minMN = Mmin(M, N), maxMN = Mmax(M, N); ATL_INT n, nb, j; ! TYPE *ws_RQ2, *ws_T, *ws_larfb; /* Workspace for RQ2,T, larfb */ void *vp=NULL; nb = clapack_ilaenv(LAIS_OPT_NB, LAgeqrf, MYOPT+LALeft+LAUpper, M, N,-1,-1); --- 1985,1997 ---- ATL_CINT minMN = Mmin(M, N), maxMN = Mmax(M, N); ATL_INT n, nb, j; ! TYPE *ws_RQ2, *ws_T, *ws_larfb, *ws_CP; /* Workspace for RQ2,T, larfb */ void *vp=NULL; + #ifdef TCPLX + TYPE ONE[2] = {ATL_rone, ATL_rzero}; + #else + #define ONE ATL_rone + #endif + nb = clapack_ilaenv(LAIS_OPT_NB, LAgeqrf, MYOPT+LALeft+LAUpper, M, N,-1,-1); *************** *** 2021,2024 **** --- 2039,2044 ---- ws_RQ2 = WORK +(nb SHIFT)*nb; /* After T Work space */ ws_larfb = ws_RQ2 + (maxMN SHIFT); /* After workspace for T and RQ2 */ + + ws_CP = malloc(ATL_MulBySize(maxMN*nb + ATL_Cachelen)); /* *************** *** 2091,2104 **** Mjoin(PATL,gemoveT)(N-n, nb, ONE, A, lda,ws_CP, maxMN); - if(BUILD_T) - { - ATL_assert(!ATL_geqlr( N-n, nb, ws_CP, maxMN, TAU, - ws_RQ2, ws_T, nb, ws_larfb, 1)); - } - else - { ATL_assert(!ATL_geqlr( N-n, nb, ws_CP, maxMN, TAU, ws_RQ2, ws_T, nb, ws_larfb, 0)); - } Mjoin(PATL,gemoveT)(nb, N-n, ONE, ws_CP, maxMN, A, lda); --- 2111,2116 ---- Index: ssegen.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Students/ssegen.base,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** ssegen.base 12 Feb 2010 18:40:54 -0000 1.21 --- ssegen.base 21 Dec 2010 17:26:24 -0000 1.22 *************** *** 42,46 **** else i += sprintf(ln+i, " lda=0 ldb=0"); ! i += sprintf(ln+i, " ldc=0", ldc); i += sprintf(ln+i, " ssegenflags=\""); if (FLAG_IS_SET(mmp->flag, MMF_LDFLOAT)) --- 42,46 ---- else i += sprintf(ln+i, " lda=0 ldb=0"); ! i += sprintf(ln+i, " ldc=0"); i += sprintf(ln+i, " ssegenflags=\""); if (FLAG_IS_SET(mmp->flag, MMF_LDFLOAT)) |
From: R. C. W. <rw...@us...> - 2010-12-20 23:55:01
|
Update of /cvsroot/math-atlas/AtlasBase/Clint In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv21979/Clint Modified Files: atlas-doc.base atlas-tl1.base atlas.base Log Message: Index: atlas-doc.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-doc.base,v retrieving revision 1.41 retrieving revision 1.42 diff -C2 -d -r1.41 -r1.42 *** atlas-doc.base 19 Mar 2010 16:46:38 -0000 1.41 --- atlas-doc.base 20 Dec 2010 23:54:50 -0000 1.42 *************** *** 1016,1019 **** --- 1016,1021 ---- Under MacOS or Windows, you may be able to change this under the power settings. + I have reports that issuing "powercfg /q" in cmd.exe under windows will tell + you whether windows is throttling or not. ATLAS config tries to detect if CPU throttling is enabled, but it may not Index: atlas-tl1.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-tl1.base,v retrieving revision 1.53 retrieving revision 1.54 diff -C2 -d -r1.53 -r1.54 *** atlas-tl1.base 26 May 2010 22:49:50 -0000 1.53 --- atlas-tl1.base 20 Dec 2010 23:54:50 -0000 1.54 *************** *** 1105,1109 **** return; } ! else fprintf(fpout, "%s%selse\n%s{\n", spc, spc); fprintf(fpout, "%s %s(N, alpha, X, incx, beta, Y, incy);\n", spc, GetNam(pre, alpha, beta, ix[i], iy[i])); --- 1105,1109 ---- return; } ! else fprintf(fpout, "%selse\n%s{\n", spc, spc); fprintf(fpout, "%s %s(N, alpha, X, incx, beta, Y, incy);\n", spc, GetNam(pre, alpha, beta, ix[i], iy[i])); Index: atlas.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas.base,v retrieving revision 1.244 retrieving revision 1.245 diff -C2 -d -r1.244 -r1.245 *** atlas.base 13 Oct 2010 22:16:52 -0000 1.244 --- atlas.base 20 Dec 2010 23:54:50 -0000 1.245 *************** *** 2292,2296 **** { ldbot = !ldbot; ! fprintf(stdout, "\n\nSWAPPED TO LOAD-AT-%s %d\n\n", ldbot?"BOTTOM":"TOP"); mfB = mf; } --- 2292,2296 ---- { ldbot = !ldbot; ! fprintf(stdout, "\n\nSWAPPED TO LOAD-AT-%s\n\n", ldbot?"BOTTOM":"TOP"); mfB = mf; } |
From: R. C. W. <rw...@us...> - 2010-12-18 00:42:59
|
Update of /cvsroot/math-atlas/AtlasBase/Clint In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv31865/Clint Modified Files: atlas-thr.base Log Message: Index: atlas-thr.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-thr.base,v retrieving revision 1.83 retrieving revision 1.84 diff -C2 -d -r1.83 -r1.84 *** atlas-thr.base 14 Dec 2010 23:12:24 -0000 1.83 --- atlas-thr.base 18 Dec 2010 00:42:50 -0000 1.84 *************** *** 4737,4741 **** } ! int Mjoin(PATL,tgetf2)(ATL_CINT M, ATL_CINT N, TYPE *A, ATL_CINT lda, int *ipiv) { ATL_thread_t tp[ATL_NTHREADS]; --- 4737,4744 ---- } ! @multidef trt Mjoin(PATL,DoWorkGETF2) Mjoin(PATL,DoWorkGETF2_nowrk) ! @define pf @@ ! @whiledef pf _nocp ! int Mjoin(PATL,tgetf2@(pf))(ATL_CINT M, ATL_CINT N, TYPE *A, ATL_CINT lda, int *ipiv) { ATL_thread_t tp[ATL_NTHREADS]; *************** *** 4787,4791 **** ls.CombineOpStructs = NULL; ls.OpStructIsInit = Mjoin(PATL,StructIsInitGETF2); ! ls.DoWork = Mjoin(PATL,DoWorkGETF2); ls.rank2thr = tp; for (i=0; i < ATL_NTHREADS; i++) --- 4790,4795 ---- ls.CombineOpStructs = NULL; ls.OpStructIsInit = Mjoin(PATL,StructIsInitGETF2); ! @skip ls.DoWork = Mjoin(PATL,DoWorkGETF2); ! ls.DoWork = @(trt); ls.rank2thr = tp; for (i=0; i < ATL_NTHREADS; i++) *************** *** 4798,4801 **** --- 4802,4807 ---- return(lu2s[0].info); } + @undef trt + @endwhile #ifndef TCPLX #undef lda2 |
From: R. C. W. <rw...@us...> - 2010-12-18 00:29:15
|
Update of /cvsroot/math-atlas/AtlasBase In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv29806 Modified Files: make.base Log Message: Index: make.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/make.base,v retrieving revision 1.428 retrieving revision 1.429 diff -C2 -d -r1.428 -r1.429 *** make.base 17 Dec 2010 16:00:57 -0000 1.428 --- make.base 18 Dec 2010 00:29:01 -0000 1.429 *************** *** 410,413 **** --- 410,415 ---- @ROUT ATLAS/src/threads ATLAS/src/threads/blas/level3 ATLAS/src/threads/lapack basfn = $(basdRCW)/atlas-thr.base + @ROUT ATLAS/src/threads/lapack + basqr = $(basdSTU)/qr.base @ROUT ATLAS/src/threads ATLAS/src/threads/blas/level3 @\ ATLAS/src/threads/blas/level3/omp ATLAS/src/threads/lapack @\ *************** *** 607,611 **** @(rt) @define rt1 @@(rt)@ ! @endwhile @ROUT ATLAS/src/blas/level2 `ATL_L2AIsOverlapped.c` @ROUT ATLAS/src/blas/level2 `ATL_syr2.c ATL_her2.c ATL_syr.c ATL_her.c` --- 609,614 ---- @(rt) @define rt1 @@(rt)@ ! @endwhile ! @ROUT ATLAS/src/threads/lapack `ATL_tgeqr2.c ATL_tgeql2.c` @ROUT ATLAS/src/blas/level2 `ATL_L2AIsOverlapped.c` @ROUT ATLAS/src/blas/level2 `ATL_syr2.c ATL_her2.c ATL_syr.c ATL_her.c` *************** *** 627,630 **** --- 630,637 ---- @endwhile @ROUT ATLAS/src/threads/lapack + @whiledef qr ATL_tgeql2 ATL_tgeqr2 + @(qr).c : $(basqr) + $(extC) -b $(basqr) -o $@ rout=$* + @endwhile atlas_tlapack.h : $(basfn) $(incf) $(extC) -b $(basfn) -o $@ rout=$@ |
From: R. C. W. <rw...@us...> - 2010-12-18 00:29:10
|
Update of /cvsroot/math-atlas/AtlasBase/Clint In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv29806/Clint Modified Files: atlas-make.base Log Message: Index: atlas-make.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-make.base,v retrieving revision 1.337 retrieving revision 1.338 diff -C2 -d -r1.337 -r1.338 *** atlas-make.base 17 Dec 2010 16:00:57 -0000 1.337 --- atlas-make.base 18 Dec 2010 00:29:01 -0000 1.338 *************** *** 4866,4870 **** @multidef typ DCPLX SCPLX DREAL SREAL @whiledef pre z c d s ! @(pre)obj = ATL_@(pre)tgetf2.o @(pre)tlib : @(pre)lib @(pre)lib : @(pre)lib.grd --- 4866,4870 ---- @multidef typ DCPLX SCPLX DREAL SREAL @whiledef pre z c d s ! @(pre)obj = ATL_@(pre)tgetf2.o ATL_@(pre)tgeqr2.o ATL_@(pre)tgeql2.o @(pre)tlib : @(pre)lib @(pre)lib : @(pre)lib.grd *************** *** 4877,4883 **** @(pre)clean: rm -f $(@(pre)obj) @(pre)lib.grd ! @whiledef rt tgetf2 ATL_@(pre)@(rt).o : $(deps) $(mySRCdir)/ATL_@(rt).c ! $(ICC) $(ICCFLAGS) -I./ -D@(typ) -o $@ -c $(mySRCdir)/ATL_tgetf2.c @endwhile --- 4877,4883 ---- @(pre)clean: rm -f $(@(pre)obj) @(pre)lib.grd ! @whiledef rt tgetf2 tgeql2 tgeqr2 ATL_@(pre)@(rt).o : $(deps) $(mySRCdir)/ATL_@(rt).c ! $(ICC) $(ICCFLAGS) -I./ -D@(typ) -o $@ -c $(mySRCdir)/ATL_@(rt).c @endwhile |
From: R. C. W. <rw...@us...> - 2010-12-18 00:29:10
|
Update of /cvsroot/math-atlas/AtlasBase/Students In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv29806/Students Modified Files: qr.base Log Message: Index: qr.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Students/qr.base,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** qr.base 28 Oct 2010 22:08:36 -0000 1.25 --- qr.base 18 Dec 2010 00:29:01 -0000 1.26 *************** *** 931,938 **** --- 931,948 ---- if (ATL_MulBySize(M)*minMN <= LA_CE || minMN <= 4 || !left || !right) { + + + // NOTE : TODO : SIJU : + Surround the following code with right if --else based some DEFINE + //Calling qr2 serial ATL_geqr2(M, minMN, A, LDA, TAU, ws_QR2); if (buildT || (N > minMN) ) [...3455 lines suppressed...] + #ifdef PROFILE_YES + rdtsc(t1); + t_threadOH += t1-t0; + #endif // PROFILE_YES ends + + #if defined(local_copy) + free(allMem); /* release copied area. */ + + #endif /* defined(local_copy) */ + + free(workMem); /* release work area. */ + + // fprintf(stderr,"Error here.100..\n"); + #ifdef PROFILE_YES + rdtsc(t1); /* Get current time. */ + t_dgeqrf_first = (t1-t_begin); /* find full panel time. */ + #endif // PROFILE_YES ends + return(0); /* Done with dgeql2. */ + } /* END ATL_t_dgeql2 */ + |
From: R. C. W. <rw...@us...> - 2010-12-17 16:01:09
|
Update of /cvsroot/math-atlas/AtlasBase/Clint In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv15113/Clint Modified Files: atlas-lp.base atlas-make.base Log Message: Index: atlas-lp.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-lp.base,v retrieving revision 1.56 retrieving revision 1.57 diff -C2 -d -r1.56 -r1.57 *** atlas-lp.base 15 Dec 2010 16:05:46 -0000 1.56 --- atlas-lp.base 17 Dec 2010 16:00:57 -0000 1.57 *************** *** 6,9 **** --- 6,10 ---- #if defined(ATL_USEPTHREADS) && !defined(ATLAS_PTALIAS_LAPACK_H) #define ATLAS_PTALIAS_LAPACK_H + @beginskip @whiledef pre z c d s @multidef rt getrf getrfC *************** *** 12,15 **** --- 13,17 ---- @endwhile @endwhile + @endskip #define ATL_ilaenv ATL_itlaenv #endif Index: atlas-make.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-make.base,v retrieving revision 1.336 retrieving revision 1.337 diff -C2 -d -r1.336 -r1.337 *** atlas-make.base 14 Dec 2010 23:10:38 -0000 1.336 --- atlas-make.base 17 Dec 2010 16:00:57 -0000 1.337 *************** *** 565,571 **** @addkeys ptyp=@(pre) @declare "@(pre)@(pt)obj = " y y ! ATL_i@(pt)laenv.o ! ATL_@(pre)@(pt)getrf.o ATL_@(pre)@(pt)getrfC.o ! ATL_@(pre)getrfR.o ATL_@(pre)getf2.o ATL_@(pre)laswp.o ATL_@(pre)potrf.o ATL_@(pre)potrfU.o ATL_@(pre)potrfL.o ATL_@(pre)geqr2.o ATL_@(pre)@(pt)geqrf.o ATL_@(pre)geqrr.o --- 565,570 ---- @addkeys ptyp=@(pre) @declare "@(pre)@(pt)obj = " y y ! ATL_i@(pt)laenv.o ATL_@(pre)@(pt)getrfC.o ! ATL_@(pre)getrf.o ATL_@(pre)getrfR.o ATL_@(pre)getf2.o ATL_@(pre)laswp.o ATL_@(pre)potrf.o ATL_@(pre)potrfU.o ATL_@(pre)potrfL.o ATL_@(pre)geqr2.o ATL_@(pre)@(pt)geqrf.o ATL_@(pre)geqrr.o *************** *** 576,580 **** ATL_@(pre)larfb.o ATL_@(pre)larf.o ATL_@(pre)larfg.o ATL_@(pre)larft.o ATL_@(pre)larfp.o ATL_@(pre)lapy2.o ATL_@(pre)lascl.o ! ATL_@(pre)@(pt)gels.o ATL_@(pre)trtrs.o @ptyp d s ATL_@(pre)lamch.o --- 575,579 ---- ATL_@(pre)larfb.o ATL_@(pre)larf.o ATL_@(pre)larfg.o ATL_@(pre)larft.o ATL_@(pre)larfp.o ATL_@(pre)lapy2.o ATL_@(pre)lascl.o ! ATL_@(pre)gels.o ATL_@(pre)trtrs.o @ptyp d s ATL_@(pre)lamch.o *************** *** 5343,5349 **** $(PMAKE) @(pre)@(pt)lib.grd @(pre)@(pt)lib.grd : $(@(pre)@(pt)obj) ! $(ARCHIVER) $(ARFLAGS) $(@(tl)LAPACKlib) $(@(pre)obj) $(RANLIB) $(@(tl)LAPACKlib) ! touch @(pre)lib.grd @endwhile --- 5342,5348 ---- $(PMAKE) @(pre)@(pt)lib.grd @(pre)@(pt)lib.grd : $(@(pre)@(pt)obj) ! $(ARCHIVER) $(ARFLAGS) $(@(tl)LAPACKlib) $(@(pre)@(pt)obj) $(RANLIB) $(@(tl)LAPACKlib) ! touch @(pre)@(pt)lib.grd @endwhile |
From: R. C. W. <rw...@us...> - 2010-12-17 16:01:06
|
Update of /cvsroot/math-atlas/AtlasBase In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv15113 Modified Files: make.base Log Message: Index: make.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/make.base,v retrieving revision 1.427 retrieving revision 1.428 diff -C2 -d -r1.427 -r1.428 *** make.base 14 Dec 2010 23:10:38 -0000 1.427 --- make.base 17 Dec 2010 16:00:57 -0000 1.428 *************** *** 415,419 **** @multidef rt @ROUT ATLAS/src/threads/lapack ! ATL_tgetf2.c ATL_ger_L2.c ATL_gerk.c @ROUT ATLAS/src/threads ATL_thread_start.c ATL_thread_join.c ATL_thread_exit.c ATL_log2tlaunch.c --- 415,419 ---- @multidef rt @ROUT ATLAS/src/threads/lapack ! ATL_tgetf2.c @ROUT ATLAS/src/threads ATL_thread_start.c ATL_thread_join.c ATL_thread_exit.c ATL_log2tlaunch.c *************** *** 611,615 **** @ROUT ATLAS/src/blas/level2 `ATL_syr2.c ATL_her2.c ATL_syr.c ATL_her.c` @ROUT ATLAS/src/blas/level2 `ATL_trmv.c ATL_trsv.c ATL_symv.c ATL_hemv.c` - @ROUT ATLAS/src/threads/lapack `atlas_tlapack.h Makefile` @enddeclare --- 611,614 ---- |
From: R. C. W. <rw...@us...> - 2010-12-15 16:05:55
|
Update of /cvsroot/math-atlas/AtlasBase/Clint In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv22866/Clint Modified Files: atlas-lp.base Log Message: Index: atlas-lp.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-lp.base,v retrieving revision 1.55 retrieving revision 1.56 diff -C2 -d -r1.55 -r1.56 *** atlas-lp.base 15 Dec 2010 00:56:16 -0000 1.55 --- atlas-lp.base 15 Dec 2010 16:05:46 -0000 1.56 *************** *** 4022,4055 **** @beginskip int Mjoin(PATL,getf2_r2) ! (ATL_CINT M, ATL_CINT N, TYPE *A, ATL_CINT lda, int *ipiv) { ! #ifdef TCPLX ! ATL_CINT lda2 = lda+lda; ! const TYPE none[2] = {ATL_rnone, ATL_rzero}; ! TYPE alpha[2]; ! #endif ! ATL_CINT LDA2 = lda2+lda2; ATL_CINT MN = Mmin(M,N), N2 = (MN>>1)<<1; - int iret=0; for (j=0; j < N2; j += 2, Ac += LDA2) { ! if (LU1(M, N, j, A, lda, ipiv)) /* factor column j */ ! iret = j; /* * Update column j+1 */ ! #ifdef TCPLX ! alpha[0] = -Ac[lda2+j+j]; ! alpha[1] = -Ac[lda2+j+j+1]; ! Mjoin(PATL,axpy)(M-j-1, alpha, Ac+j+j+2, 1, Ac+lda2+j+j+2, 1); ! #else ! Mjoin(PATL,axpy)(M-j-1, -Ac[lda+j], Ac+j+1, 1, Ac+lda+j+1, 1); ! #endif ! if (LU1(M, N, j+1, A, lda, ipiv)) /* factor column j+1 */ ! iret = j+1; ! /* HERE HERE HERE */ ! my_ger2(M-j-2, N-j-2, none, Ac+((j+2)SHIFT), 1, Ac+((j+2+lda)SHIFT), lda, ! Ac+LDA2+(2 SHIFT), lda); } } #ifndef TCPLX --- 4022,4076 ---- @beginskip int Mjoin(PATL,getf2_r2) ! (ATL_CINT M, ATL_CINT N, TYPE *A0, ATL_CINT lda, int *ipiv) { ! #ifdef TCPLX ! const TYPE none[2] = {ATL_rnone, ATL_rzero}; ! TYPE alpha[2]; ! ATL_CINT lda2 = lda+lda, LDA2 = lda2+lda2; ATL_CINT MN = Mmin(M,N), N2 = (MN>>1)<<1; for (j=0; j < N2; j += 2, Ac += LDA2) { ! if (LU1(M, N, j, A0, lda, ipiv)) /* factor column j */ ! iret = j; ! } /* * Update column j+1 */ ! alpha[0] = -Ac[lda2+j+j]; ! alpha[1] = -Ac[lda2+j+j+1]; ! Mjoin(PATL,axpy)(M-j-1, alpha, Ac+j+j+2, 1, Ac+lda2+j+j+2, 1); ! #else ! TYPE *A = A0; ! ATL_CINT LDA2 = lda+lda, MN = Mmin(M,N), N2 = (MN>>1)<<1; ! ATL_CINT incA = lda+lda+2; ! ATL_INT j; ! ! for (j=0; j < N2; j += 2, A += incA) ! { ! if (LU1(M, N, j, A0, lda, ipiv)) /* factor column j */ ! iret = j; ! /* ! * Update column j+1 and then factor column j+1 ! */ ! Mjoin(PATL,axpy)(M-j-1, -A[lda], A+1, 1, Ac+lda+1, 1); ! if (LU1(M, N, j+1, A0, lda, ipiv)) ! iret = j+1; ! /* ! * Compute 2-wide row-panel of U; L is unit triangular: ! * |1 0| |x0| = |b0| ==> x0 = b0 (no change for A(j,j+1:N)) ! * |L21 1| |x1| |b1| ==> L21*x0 + x1 = b1 ==> x1 = b1 - L21*b0 ! * So, set alpha = -L21, x = b0, y = x1, and can figure with axpy! ! */ ! Mjoin(PATL,axpy)(N-j-2, -A[1], A+LDA2, lda, A+LDA2+1, lda); ! /* ! * Update trailing matrix with rank-2 update ! */ ! my_ger2(M-j-2, N-j-2, none, A+2, 1, A+LDA2, lda, ! none, A+lda+2, 1, A+LDA2+1, lda, A+incA, lda); } + if (N-N2) + if (LU1(M, N, j, A0, lda, ipiv)) /* factor last column */ + iret = j; + return(iret); } #ifndef TCPLX |
From: R. C. W. <rw...@us...> - 2010-12-15 00:56:27
|
Update of /cvsroot/math-atlas/AtlasBase/Clint In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv15072/Clint Modified Files: atlas-lp.base Log Message: Index: atlas-lp.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-lp.base,v retrieving revision 1.54 retrieving revision 1.55 diff -C2 -d -r1.54 -r1.55 *** atlas-lp.base 14 Dec 2010 23:10:38 -0000 1.54 --- atlas-lp.base 15 Dec 2010 00:56:16 -0000 1.55 *************** *** 3957,3963 **** #undef mytrans @ROUT ATL_getf2 ! #include "atlas_tlapack.h" #include "atlas_level2.h" ! @beginskip #ifdef TCPLX #define my_ger2 Mjoin(PATL,ger2u) --- 3957,3964 ---- #undef mytrans @ROUT ATL_getf2 ! #include "atlas_lapack.h" #include "atlas_level2.h" ! #include "atlas_lamch.h" ! #ifdef TCPLX #define my_ger2 Mjoin(PATL,ger2u) *************** *** 3969,3973 **** /* * Performs an LU factorization on jth column. N is the full width of ! * matrix */ { --- 3970,3975 ---- /* * Performs an LU factorization on jth column. N is the full width of ! * column panel, A is ptr to beginning of panel. ! * RETURNS: 0 on success, non-zero if no non-zero pivot exists */ { *************** *** 3980,3988 **** #define none ATL_rnone #endif ! TYPE *a = A + ((j*(lda+1))SHIFT); /* point where we start */ ! AT_INT ip; ! ipiv[j] = ip = j + cblas_iamax(M-j, a } int Mjoin(PATL,getf2_r2) (ATL_CINT M, ATL_CINT N, TYPE *A, ATL_CINT lda, int *ipiv) --- 3982,4024 ---- #define none ATL_rnone #endif ! TYPE *Ac = A + j*lda2; /* active column */ ! TYPE pivval=Ac[j]; ! ATL_INT ip; ! ipiv[j] = ip = j + cblas_iamax(M-j, Ac+(j SHIFT), 1); ! #ifdef TCPLX ! pivval = Mabs(Ac[ip+ip]) + Mabs(Ac[ip+ip+1]); ! #else ! pivval = Ac[ip]; ! #endif ! if (pivval != ATL_rzero); ! { ! if (ip != j) ! cblas_swap(N, A+(j SHIFT), lda, A+(ip SHIFT), lda); ! #ifdef TCPLX ! if (pivval >= ATL_laSAFMIN) ! { ! TYPE invs[2]; ! Mjoin(PATL,cplxinvert)(1, Ac+j+j, 1, invs, 1); ! cblas_scal(M-j-1, invs, Ac+j+j+2, 1); ! } ! else ! Mjoin(PATL,cplxdivide)(M-j-1, Ac+j+j, Ac+j+j+2, 1, Ac+j+j+2, 1); ! #else ! if (Mabs(pivval) >= ATL_laSAFMIN) ! cblas_scal(M-j-1, ATL_rone/pivval, Ac+j+1, 1); ! else ! { ! ATL_INT i; ! for (i=j+1; i < M; i++) ! Ac[j] /= pivval; ! } ! #endif ! return(0); ! } ! return(1); } + + @beginskip int Mjoin(PATL,getf2_r2) (ATL_CINT M, ATL_CINT N, TYPE *A, ATL_CINT lda, int *ipiv) *************** *** 3990,3998 **** #ifdef TCPLX ATL_CINT lda2 = lda+lda; - TYPE invs[2]; const TYPE none[2] = {ATL_rnone, ATL_rzero}; #endif ATL_CINT MN = Mmin(M,N), N2 = (MN>>1)<<1; } @endskip #ifdef TCPLX --- 4026,4059 ---- #ifdef TCPLX ATL_CINT lda2 = lda+lda; const TYPE none[2] = {ATL_rnone, ATL_rzero}; + TYPE alpha[2]; #endif + ATL_CINT LDA2 = lda2+lda2; ATL_CINT MN = Mmin(M,N), N2 = (MN>>1)<<1; + int iret=0; + for (j=0; j < N2; j += 2, Ac += LDA2) + { + if (LU1(M, N, j, A, lda, ipiv)) /* factor column j */ + iret = j; + /* + * Update column j+1 + */ + #ifdef TCPLX + alpha[0] = -Ac[lda2+j+j]; + alpha[1] = -Ac[lda2+j+j+1]; + Mjoin(PATL,axpy)(M-j-1, alpha, Ac+j+j+2, 1, Ac+lda2+j+j+2, 1); + #else + Mjoin(PATL,axpy)(M-j-1, -Ac[lda+j], Ac+j+1, 1, Ac+lda+j+1, 1); + #endif + if (LU1(M, N, j+1, A, lda, ipiv)) /* factor column j+1 */ + iret = j+1; + /* HERE HERE HERE */ + my_ger2(M-j-2, N-j-2, none, Ac+((j+2)SHIFT), 1, Ac+((j+2+lda)SHIFT), lda, + Ac+LDA2+(2 SHIFT), lda); + } } + #ifndef TCPLX + #undef alpha + #endif @endskip #ifdef TCPLX *************** *** 4021,4024 **** --- 4082,4088 ---- for (j=0; j < MN; j++, Ac += lda2) { + if (LU1(M, N, j, A, lda, ipiv)) + iret = j; + @beginskip ipiv[j] = ip = j + cblas_iamax(M-j, Ac+(j SHIFT), 1); #ifdef TCPLX *************** *** 4040,4043 **** --- 4104,4108 ---- else /* pivot is zero, we have a singular matrix! */ iret = j; + @endskip my_ger(M-j-1, N-j-1, none, Ac+((j+1)SHIFT), 1, Ac+((j+lda)SHIFT), lda, |
From: R. C. W. <rw...@us...> - 2010-12-14 23:12:33
|
Update of /cvsroot/math-atlas/AtlasBase/Clint In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv22294/Clint Modified Files: atlas-thr.base Log Message: Index: atlas-thr.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-thr.base,v retrieving revision 1.82 retrieving revision 1.83 diff -C2 -d -r1.82 -r1.83 *** atlas-thr.base 14 Dec 2010 23:10:38 -0000 1.82 --- atlas-thr.base 14 Dec 2010 23:12:24 -0000 1.83 *************** *** 4449,4543 **** #include "atlas_tlapack.h" #include "atlas_level2.h" - @beginskip - #ifdef TCPLX - #define my_ger2 Mjoin(PATL,ger2u) - #else - #define my_ger2 Mjoin(PATL,ger2) - #endif - static int LU1(ATL_CINT M, ATL_CINT N, ATL_CINT j, TYPE *A, ATL_CINT lda, - int *ipiv) - /* - * Performs an LU factorization on jth column. N is the full width of - * matrix - */ - { - #ifdef TCPLX - ATL_CINT lda2 = lda+lda; - TYPE invs[2]; - const TYPE none[2] = {ATL_rnone, ATL_rzero}; - #else - #define lda2 lda - #define none ATL_rnone - #endif - TYPE *a = A + ((j*(lda+1))SHIFT); /* point where we start */ - AT_INT ip; - - ipiv[j] = ip = j + cblas_iamax(M-j, a - } - int Mjoin(PATL,getf2_r2) - (ATL_CINT M, ATL_CINT N, TYPE *A, ATL_CINT lda, int *ipiv) - { - #ifdef TCPLX - ATL_CINT lda2 = lda+lda; - TYPE invs[2]; - const TYPE none[2] = {ATL_rnone, ATL_rzero}; - #endif - ATL_CINT MN = Mmin(M,N), N2 = (MN>>1)<<1; - } - #ifdef TCPLX - #define my_ger Mjoin(PATL,geru) - #else - #define my_ger Mjoin(PATL,ger) - #endif - int Mjoin(PATL,getf2)(ATL_CINT M, ATL_CINT N, TYPE *A, ATL_CINT lda, int *ipiv) - { - ATL_CINT MN = Mmin(M,N); - ATL_INT ip; - TYPE *Ac = A; - ATL_INT j, iret=0; - #ifdef TCPLX - ATL_CINT lda2 = lda+lda; - TYPE invs[2]; - const TYPE none[2] = {ATL_rnone, ATL_rzero}; - #else - #define lda2 lda - #define none ATL_rnone - #endif - - if (M < 1 || N < 1) - return(0); - - for (j=0; j < MN; j++, Ac += lda2) - { - ipiv[j] = ip = j + cblas_iamax(M-j, Ac+(j SHIFT), 1); - #ifdef TCPLX - invs[0] = Ac[ip+ip]; invs[1] = Ac[ip+ip+1]; - if (invs[0] != ATL_rzero || invs[1] != ATL_rzero) - #else - if (Ac[ip] != ATL_rzero) - #endif - { - if (ip != j) - cblas_swap(N, A+(j SHIFT), lda, A+(ip SHIFT), lda); - #ifdef TCPLX - Mjoin(PATL,cplxinvert)(1, invs, 1, invs, 1); - cblas_scal(M-j-1, invs, Ac+j+j+2, 1); - #else - cblas_scal(M-j-1, ATL_rone/Ac[j], Ac+j+1, 1); - #endif - } - else /* pivot is zero, we have a singular matrix! */ - iret = j; - - my_ger(M-j-1, N-j-1, none, Ac+((j+1)SHIFT), 1, Ac+((j+lda)SHIFT), lda, - Ac+((lda+j+1)SHIFT), lda); - } - return(iret); - } - #undef my_ger - #ifndef TCPLX - #undef none - #endif - @endskip void Mjoin(PATL,DoWorkGETF2_nowrk)(ATL_LAUNCHSTRUCT_t *lp, void *vp) --- 4449,4452 ---- |
From: R. C. W. <rw...@us...> - 2010-12-14 23:10:47
|
Update of /cvsroot/math-atlas/AtlasBase/Clint In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv21985/Clint Modified Files: atlas-lp.base atlas-make.base atlas-thr.base Log Message: Index: atlas-lp.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-lp.base,v retrieving revision 1.53 retrieving revision 1.54 diff -C2 -d -r1.53 -r1.54 *** atlas-lp.base 13 Dec 2010 17:45:38 -0000 1.53 --- atlas-lp.base 14 Dec 2010 23:10:38 -0000 1.54 *************** *** 2898,2902 **** */ @multidef rt ! laswp getrf getrs getrfC getrfR potrf potrs potrfL potrfU trtri trtriCU trtriCL trtriRU trtriRL lauum lauumCU lauumCL lauumRU lauumRL --- 2898,2902 ---- */ @multidef rt ! laswp getrf getrs getrfC getrfR getf2 potrf potrs potrfL potrfU trtri trtriCU trtriCL trtriRU trtriRL lauum lauumCU lauumCL lauumRU lauumRL *************** *** 2943,2946 **** --- 2943,2947 ---- int ATL_@(pre)getrf(const enum CBLAS_ORDER Order, const int M, const int N, @(typ) *A, const int lda, int *ipiv); + int ATL_@(pre)getf2(ATL_CINT M, ATL_CINT N, @(typ) *A, ATL_CINT lda, int *ipiv); void ATL_@(pre)getrs(const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE Trans, const int N, const int NRHS, const @(typ) *A, const int lda, *************** *** 3955,3956 **** --- 3956,4047 ---- } #undef mytrans + @ROUT ATL_getf2 + #include "atlas_tlapack.h" + #include "atlas_level2.h" + @beginskip + #ifdef TCPLX + #define my_ger2 Mjoin(PATL,ger2u) + #else + #define my_ger2 Mjoin(PATL,ger2) + #endif + static int LU1(ATL_CINT M, ATL_CINT N, ATL_CINT j, TYPE *A, ATL_CINT lda, + int *ipiv) + /* + * Performs an LU factorization on jth column. N is the full width of + * matrix + */ + { + #ifdef TCPLX + ATL_CINT lda2 = lda+lda; + TYPE invs[2]; + const TYPE none[2] = {ATL_rnone, ATL_rzero}; + #else + #define lda2 lda + #define none ATL_rnone + #endif + TYPE *a = A + ((j*(lda+1))SHIFT); /* point where we start */ + AT_INT ip; + + ipiv[j] = ip = j + cblas_iamax(M-j, a + } + int Mjoin(PATL,getf2_r2) + (ATL_CINT M, ATL_CINT N, TYPE *A, ATL_CINT lda, int *ipiv) + { + #ifdef TCPLX + ATL_CINT lda2 = lda+lda; + TYPE invs[2]; + const TYPE none[2] = {ATL_rnone, ATL_rzero}; + #endif + ATL_CINT MN = Mmin(M,N), N2 = (MN>>1)<<1; + } + @endskip + #ifdef TCPLX + #define my_ger Mjoin(PATL,geru) + #else + #define my_ger Mjoin(PATL,ger) + #endif + int Mjoin(PATL,getf2)(ATL_CINT M, ATL_CINT N, TYPE *A, ATL_CINT lda, int *ipiv) + { + ATL_CINT MN = Mmin(M,N); + ATL_INT ip; + TYPE *Ac = A; + ATL_INT j, iret=0; + #ifdef TCPLX + ATL_CINT lda2 = lda+lda; + TYPE invs[2]; + const TYPE none[2] = {ATL_rnone, ATL_rzero}; + #else + #define lda2 lda + #define none ATL_rnone + #endif + + if (M < 1 || N < 1) + return(0); + + for (j=0; j < MN; j++, Ac += lda2) + { + ipiv[j] = ip = j + cblas_iamax(M-j, Ac+(j SHIFT), 1); + #ifdef TCPLX + invs[0] = Ac[ip+ip]; invs[1] = Ac[ip+ip+1]; + if (invs[0] != ATL_rzero || invs[1] != ATL_rzero) + #else + if (Ac[ip] != ATL_rzero) + #endif + { + if (ip != j) + cblas_swap(N, A+(j SHIFT), lda, A+(ip SHIFT), lda); + #ifdef TCPLX + Mjoin(PATL,cplxinvert)(1, invs, 1, invs, 1); + cblas_scal(M-j-1, invs, Ac+j+j+2, 1); + #else + cblas_scal(M-j-1, ATL_rone/Ac[j], Ac+j+1, 1); + #endif + } + else /* pivot is zero, we have a singular matrix! */ + iret = j; + + my_ger(M-j-1, N-j-1, none, Ac+((j+1)SHIFT), 1, Ac+((j+lda)SHIFT), lda, + Ac+((lda+j+1)SHIFT), lda); + } + return(iret); + } Index: atlas-make.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-make.base,v retrieving revision 1.335 retrieving revision 1.336 diff -C2 -d -r1.335 -r1.336 *** atlas-make.base 13 Dec 2010 17:45:38 -0000 1.335 --- atlas-make.base 14 Dec 2010 23:10:38 -0000 1.336 *************** *** 567,571 **** ATL_i@(pt)laenv.o ATL_@(pre)@(pt)getrf.o ATL_@(pre)@(pt)getrfC.o ! ATL_@(pre)getrfR.o ATL_@(pre)laswp.o ATL_@(pre)potrf.o ATL_@(pre)potrfU.o ATL_@(pre)potrfL.o ATL_@(pre)geqr2.o ATL_@(pre)@(pt)geqrf.o ATL_@(pre)geqrr.o --- 567,571 ---- ATL_i@(pt)laenv.o ATL_@(pre)@(pt)getrf.o ATL_@(pre)@(pt)getrfC.o ! ATL_@(pre)getrfR.o ATL_@(pre)getf2.o ATL_@(pre)laswp.o ATL_@(pre)potrf.o ATL_@(pre)potrfU.o ATL_@(pre)potrfL.o ATL_@(pre)geqr2.o ATL_@(pre)@(pt)geqrf.o ATL_@(pre)geqrr.o *************** *** 602,606 **** @multidef rout trtri trtriCU trtriCL trtriRU trtriRL lauum getri getriR getriC ! laswp getrf getrs getrfC getrfR potrf potrs potrfU potrfL geqr2 geqrf geqrr gerq2 gerqf gerqr --- 602,606 ---- @multidef rout trtri trtriCU trtriCL trtriRU trtriRL lauum getri getriR getriC ! laswp getrf getrs getrfC getrfR getf2 potrf potrs potrfU potrfL geqr2 geqrf geqrr gerq2 gerqf gerqr Index: atlas-thr.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-thr.base,v retrieving revision 1.81 retrieving revision 1.82 diff -C2 -d -r1.81 -r1.82 *** atlas-thr.base 14 Dec 2010 21:34:44 -0000 1.81 --- atlas-thr.base 14 Dec 2010 23:10:38 -0000 1.82 *************** *** 4485,4489 **** ATL_CINT MN = Mmin(M,N), N2 = (MN>>1)<<1; } - @endskip #ifdef TCPLX #define my_ger Mjoin(PATL,geru) --- 4485,4488 ---- *************** *** 4540,4543 **** --- 4539,4543 ---- #undef none #endif + @endskip void Mjoin(PATL,DoWorkGETF2_nowrk)(ATL_LAUNCHSTRUCT_t *lp, void *vp) *************** *** 4551,4554 **** --- 4551,4557 ---- #ifdef TCPLX ATL_CINT lda2 = lda+lda; + #else + #define lda2 lda + #define none ATL_rnone #endif TYPE *A, *Ac, *a, *v; |
From: R. C. W. <rw...@us...> - 2010-12-14 23:10:47
|
Update of /cvsroot/math-atlas/AtlasBase In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv21985 Modified Files: make.base Log Message: Index: make.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/make.base,v retrieving revision 1.426 retrieving revision 1.427 diff -C2 -d -r1.426 -r1.427 *** make.base 11 Dec 2010 00:03:14 -0000 1.426 --- make.base 14 Dec 2010 23:10:38 -0000 1.427 *************** *** 318,322 **** ATLAS/src/lapack/ATL_larft.c ATLAS/src/lapack/ATL_gels.c \ ATLAS/src/lapack/ATL_lascl.c ATLAS/src/lapack/ATL_trtrs.c \ ! ATLAS/src/lapack/ATL_orm??.c \ @skip ATLAS/tune/blas/gemm/vnbmmsearch.c ATLAS/tune/blas/gemm/emit_vKB.c \ @skip ATLAS/tune/blas/gemm/mm_old2new.c ATLAS/tune/blas/gemm/vmmf_gccsub.c \ --- 318,322 ---- ATLAS/src/lapack/ATL_larft.c ATLAS/src/lapack/ATL_gels.c \ ATLAS/src/lapack/ATL_lascl.c ATLAS/src/lapack/ATL_trtrs.c \ ! ATLAS/src/lapack/ATL_orm??.c ATLAS/src/lapack/ATL_getf2.c \ @skip ATLAS/tune/blas/gemm/vnbmmsearch.c ATLAS/tune/blas/gemm/emit_vKB.c \ @skip ATLAS/tune/blas/gemm/mm_old2new.c ATLAS/tune/blas/gemm/vmmf_gccsub.c \ *************** *** 1341,1345 **** @multidef rt laswp getrf getrs getrfC getrfR potrf potrs potrfU potrfL potrfRU potrfRL ! lauum lauumU lauumL getri getriR getriC trtri trtriCU trtriCL trtriRU trtriRL ilaenv lamch lascl gels trtrs @endmultidef --- 1341,1345 ---- @multidef rt laswp getrf getrs getrfC getrfR potrf potrs potrfU potrfL potrfRU potrfRL ! lauum lauumU lauumL getri getriR getriC getf2 trtri trtriCU trtriCL trtriRU trtriRL ilaenv lamch lascl gels trtrs @endmultidef |
From: R. C. W. <rw...@us...> - 2010-12-14 21:34:54
|
Update of /cvsroot/math-atlas/AtlasBase/Clint In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv27679/Clint Modified Files: atlas-thr.base Log Message: Index: atlas-thr.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-thr.base,v retrieving revision 1.80 retrieving revision 1.81 diff -C2 -d -r1.80 -r1.81 *** atlas-thr.base 14 Dec 2010 19:00:40 -0000 1.80 --- atlas-thr.base 14 Dec 2010 21:34:44 -0000 1.81 *************** *** 4449,4452 **** --- 4449,4489 ---- #include "atlas_tlapack.h" #include "atlas_level2.h" + @beginskip + #ifdef TCPLX + #define my_ger2 Mjoin(PATL,ger2u) + #else + #define my_ger2 Mjoin(PATL,ger2) + #endif + static int LU1(ATL_CINT M, ATL_CINT N, ATL_CINT j, TYPE *A, ATL_CINT lda, + int *ipiv) + /* + * Performs an LU factorization on jth column. N is the full width of + * matrix + */ + { + #ifdef TCPLX + ATL_CINT lda2 = lda+lda; + TYPE invs[2]; + const TYPE none[2] = {ATL_rnone, ATL_rzero}; + #else + #define lda2 lda + #define none ATL_rnone + #endif + TYPE *a = A + ((j*(lda+1))SHIFT); /* point where we start */ + AT_INT ip; + + ipiv[j] = ip = j + cblas_iamax(M-j, a + } + int Mjoin(PATL,getf2_r2) + (ATL_CINT M, ATL_CINT N, TYPE *A, ATL_CINT lda, int *ipiv) + { + #ifdef TCPLX + ATL_CINT lda2 = lda+lda; + TYPE invs[2]; + const TYPE none[2] = {ATL_rnone, ATL_rzero}; + #endif + ATL_CINT MN = Mmin(M,N), N2 = (MN>>1)<<1; + } + @endskip #ifdef TCPLX #define my_ger Mjoin(PATL,geru) *************** *** 4621,4626 **** #endif - Mjoin(PATL,DoWorkGETF2_nowrk)(lp, vp0); - return; m = (rank) ? mp : mp+mr; a = (rank) ? (((TYPE*)lup->A)+((mp*rank + mr)SHIFT)) : lup->A; --- 4658,4661 ---- *************** *** 4798,4809 **** TYPE *works[ATL_NTHREADS]; ! ATL_CINT MN = Mmin(M,N), p = Mmin(ATL_NTHREADS, M/ATL_NTHREADS); ! ATL_INT m, i, j; if (M < 1 || N < 1) return(0); if (p < 2) /* not enough rows, call serial algorithm */ return(Mjoin(PATL,getf2)(M, N, A, lda, ipiv)); - m = M / p; for (i=0; i < p; i++) { --- 4833,4856 ---- TYPE *works[ATL_NTHREADS]; ! ATL_CINT MN = Mmin(M,N); ! ATL_INT p = ATL_NTHREADS, m, mr, i, j; if (M < 1 || N < 1) return(0); + m = M / ATL_NTHREADS; + mr = M - m*ATL_NTHREADS; + /* + * This logic is necessary since tgetf2 assumes only one processor owns entire + * logical block. Can remove if we rewrite tgetf2 to allow the diagonal to + * span multiple processors + */ + if (m+mr < N) + { + p = M / N; + if (p) + m = M / p; + } if (p < 2) /* not enough rows, call serial algorithm */ return(Mjoin(PATL,getf2)(M, N, A, lda, ipiv)); for (i=0; i < p; i++) { |
From: R. C. W. <rw...@us...> - 2010-12-14 19:00:50
|
Update of /cvsroot/math-atlas/AtlasBase/Clint In directory sfp-cvsdas-4.v30.ch3.sourceforge.com:/tmp/cvs-serv23790/Clint Modified Files: atlas-thr.base Log Message: Index: atlas-thr.base =================================================================== RCS file: /cvsroot/math-atlas/AtlasBase/Clint/atlas-thr.base,v retrieving revision 1.79 retrieving revision 1.80 diff -C2 -d -r1.79 -r1.80 *** atlas-thr.base 14 Dec 2010 18:01:37 -0000 1.79 --- atlas-thr.base 14 Dec 2010 19:00:40 -0000 1.80 *************** *** 4461,4467 **** --- 4461,4469 ---- ATL_INT j, iret=0; #ifdef TCPLX + ATL_CINT lda2 = lda+lda; TYPE invs[2]; const TYPE none[2] = {ATL_rnone, ATL_rzero}; #else + #define lda2 lda #define none ATL_rnone #endif *************** *** 4470,4481 **** return(0); ! for (j=0; j < MN; j++, Ac += lda) { ipiv[j] = ip = j + cblas_iamax(M-j, Ac+(j SHIFT), 1); #ifdef TCPLX ! invs[0] = A[ip+ip]; invs[1] = A[ip+ip+1]; ! if (invs[0] || invs[1]) #else ! if (A[ip]) #endif { --- 4472,4483 ---- return(0); ! for (j=0; j < MN; j++, Ac += lda2) { ipiv[j] = ip = j + cblas_iamax(M-j, Ac+(j SHIFT), 1); #ifdef TCPLX ! invs[0] = Ac[ip+ip]; invs[1] = Ac[ip+ip+1]; ! if (invs[0] != ATL_rzero || invs[1] != ATL_rzero) #else ! if (Ac[ip] != ATL_rzero) #endif { *************** *** 4512,4517 **** #ifdef TCPLX ATL_CINT lda2 = lda+lda; - #else - #define lda2 lda #endif TYPE *A, *Ac, *a, *v; --- 4514,4517 ---- *************** *** 4798,4802 **** TYPE *works[ATL_NTHREADS]; ! ATL_CINT MN = Mmin(M,N), p = Mmin(ATL_NTHREADS, M/p); ATL_INT m, i, j; --- 4798,4802 ---- TYPE *works[ATL_NTHREADS]; ! ATL_CINT MN = Mmin(M,N), p = Mmin(ATL_NTHREADS, M/ATL_NTHREADS); ATL_INT m, i, j; |