[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

*To*: camm@enhanced.com*Subject*: no luck with cleanup*From*: R Clint Whaley <rwhaley@cs.utk.edu>*Date*: Wed, 15 Nov 2000 21:23:42 -0500 (EST)*Cc*: atlas-comm@cs.utk.edu

Camm, I'm having no luck using the code you sent for cleanup. Can you see if it passes for you? The command is : >make mmutstcase pre=s M=16 N=56 K=56 mb=0 nb=56 kb=56 mmrout=../CASES/ATL_sgemm_SSE_1x1xkb.c This indicates run a 16x56x56 sgemm, with mb being an run-time variable. Here's the same thing, but with mb being compile time: >make mmutstcase pre=s M=16 N=56 K=56 mb=16 nb=56 kb=56 mmrout=../CASES/ATL_sgemm_SSE_1x1xkb.c Anyway, I can't get any cleanup (M, N, K) to work with either of these routines, either as compile-time or runtime variables . . . I include a simple kernel that takes any unrolling and all run-time args, so you can verify that your tester works for these cleanup cases . . . Thanks, Clint #include "atlas_misc.h" void ATL_USERMM (const int M, const int N, const int K, const TYPE alpha, const TYPE *A, const int lda, const TYPE *B, const int ldb, const TYPE beta, TYPE *C, const int ldc) { int i, j, k; register TYPE c00; for (j=0; j < N; j++) { for (i=0; i < M; i++) { #ifdef BETA0 c00 = 0.0; #elif defined(BETA1) c00 = C[i+j*ldc]; #else c00 = C[i+j*ldc] * beta; #endif for (k=0; k < K; k++) c00 += A[k+i*lda] * B[k+j*ldb]; C[i+j*ldc] = c00; } } }

**Follow-Ups**:**Re: no luck with cleanup***From:*Camm Maguire <camm@enhanced.com>

- Prev by Date:
**Re: sgemm questions** - Next by Date:
**Re: no luck with cleanup** - Prev by thread:
**ATLASv3.1.3D: Like Mozilla, but less robust and longer overdue** - Next by thread:
**Re: no luck with cleanup** - Index(es):