11 #include "common_magma.h"
15 #if (defined(PRECISION_s) || defined(PRECISION_d))
16 #define magma_sgemm magmablas_sgemm
17 #define magma_strsm magmablas_strsm
21 #if (defined(PRECISION_s))
23 #define magma_sgemm magmablas_sgemm_fermi80
28 #define A(i, j) (a +(j)*lda + (i))
29 #define dA(i, j) (work+(j)*ldda + (i))
89 char uplo_[2] = {
uplo, 0};
90 char diag_[2] = {
diag, 0};
108 else if (lda <
max(1,n))
124 for (*info=0; *info < n; *info=*info+1)
126 if(
A(*info,*info)==0)
134 ldda = ((n+31)/32)*32;
141 static cudaStream_t stream[2];
147 if (nb <= 1 || nb >= n)
154 for (j=0; j<n; j =j+ nb)
164 c_one,
dA(0,0), ldda,
dA(0, j),ldda);
168 c_neg_one,
dA(j,j), ldda,
dA(0, j),ldda);
175 A(j, j), lda, stream[1] );
180 A(0, j), lda, stream[0] );
198 for(j=nn-1; j>=0; j=j-nb)
212 c_one,
dA(j+jb,j+jb), ldda,
dA(j+jb, j), ldda);
216 c_neg_one,
dA(j,j), ldda,
dA(j+jb, j), ldda);
223 A(j+jb, j), lda, stream[1] );
227 A(j,j), lda, stream[0] );