Re: [Math-atlas-devel] 3DNow! error actually Whaley! error
Brought to you by:
rwhaley,
tonyc040457
From: Camm M. <ca...@en...> - 2002-03-10 13:32:11
|
Hi Clint! Great! R Clint Whaley <rw...@cs...> writes: > Guys, > > Just found the fix for the error Camm found using 3DNow!. It happens because > 3DNow! (like SSE) uses a different loop order than ATLAS's generated kernel. > In a gemm that handles overlapping operands, I either displayed Enron-like > judgement in assuming the kernel would always have that loop order (I wrote > this particular section of code before user-submitted kernels, so this is > possible), or I just blew a test. Anyway, this problem can happen on SSE1 > code as well (try "./xsl3blastst -R trmm -m 64 -N 1 64 1" on a PIIISSE1). I Confirmed. (i.e. problem exists on sse1, stable) > am confirming, but I think this can happen in the old stable as well. The > only routines where there is any possibility of error are STRMM and STRSM, > and I can't make STRSM fail yet. > Hoping that this will account for my one known unresolved failure in the existing stable package, in strsm on m68k. Details available if desired. > I have updated sourceforge, and I include the 3.3.14 patch below for interested > parties. I will confirm on stable and errata as necessary. > Great! > Cheers, > Clint > diff ATLAS/src/blas/gemm GOOD vs BAD: > 230,231c230 > < if ( !AC_aliased && lda == NB && K == NB && SCALAR_IS_ONE(alpha) ) > < pA = (TYPE *) A; > --- > > if ( lda == NB && K == NB && SCALAR_IS_ONE(alpha) ) pA = (TYPE *) A; > 313,314c312 > < if (!BC_aliased && ldb == NB && K == NB && alpha == 1.0) > < pB = (TYPE *) B; > --- > > if (ldb == NB && K == NB && alpha == 1.0) pB = (TYPE *) B; > > _______________________________________________ > Math-atlas-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/math-atlas-devel > > Take care, -- Camm Maguire ca...@en... ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah |