Ref #51: added blas extension somatcopy
authorwernsaar <wernsaar@googlemail.com>
Mon, 9 Jun 2014 18:21:13 +0000 (20:21 +0200)
committerwernsaar <wernsaar@googlemail.com>
Mon, 9 Jun 2014 18:21:13 +0000 (20:21 +0200)
common_level3.h
common_macro.h
common_param.h
common_s.h
interface/Makefile
kernel/Makefile.L3
kernel/setparam-ref.c

index 8a33c20..ad978b0 100644 (file)
@@ -1732,6 +1732,11 @@ int zgemc_otcopy(BLASLONG m, BLASLONG n, double *a, BLASLONG lda, double *b, BLA
 int xgemc_oncopy(BLASLONG m, BLASLONG n, xdouble *a, BLASLONG lda, xdouble *b, BLASLONG ldb, xdouble *c);
 int xgemc_otcopy(BLASLONG m, BLASLONG n, xdouble *a, BLASLONG lda, xdouble *b, BLASLONG ldb, xdouble *c);
 
+int somatcopy_k_cn(BLASLONG, BLASLONG,  float, float *, BLASLONG, float  *, BLASLONG);
+int somatcopy_k_rn(BLASLONG, BLASLONG,  float, float *, BLASLONG, float  *, BLASLONG);
+int somatcopy_k_ct(BLASLONG, BLASLONG,  float, float *, BLASLONG, float  *, BLASLONG);
+int somatcopy_k_rt(BLASLONG, BLASLONG,  float, float *, BLASLONG, float  *, BLASLONG);
+
 int domatcopy_k_cn(BLASLONG, BLASLONG,  double, double *, BLASLONG, double  *, BLASLONG);
 int domatcopy_k_rn(BLASLONG, BLASLONG,  double, double *, BLASLONG, double  *, BLASLONG);
 int domatcopy_k_ct(BLASLONG, BLASLONG,  double, double *, BLASLONG, double  *, BLASLONG);
index 1a08613..b93842f 100644 (file)
 #define        HERK_THREAD_LC          DSYRK_THREAD_LT
 
 #define        AXPBY_K                 DAXPBY_K
+
 #define OMATCOPY_K_CN          DOMATCOPY_K_CN
 #define OMATCOPY_K_RN          DOMATCOPY_K_RN
 #define OMATCOPY_K_CT          DOMATCOPY_K_CT
 
 #define        AXPBY_K                 SAXPBY_K
 
+#define OMATCOPY_K_CN          SOMATCOPY_K_CN
+#define OMATCOPY_K_RN          SOMATCOPY_K_RN
+#define OMATCOPY_K_CT          SOMATCOPY_K_CT
+#define OMATCOPY_K_RT          SOMATCOPY_K_RT
+
 #endif
 #else
 #ifdef XDOUBLE
index 1b7d8a5..6c98f6c 100644 (file)
@@ -816,6 +816,11 @@ BLASLONG (*ixamin_k)(BLASLONG, xdouble *, BLASLONG);
   int    (*caxpby_k)     (BLASLONG, float, float,  float*, BLASLONG,float,float, float*, BLASLONG);
   int    (*zaxpby_k)     (BLASLONG, double, double,  double*, BLASLONG,double,double, double*, BLASLONG);
 
+  int    (*somatcopy_k_cn)     (BLASLONG, BLASLONG, float, float*, BLASLONG, float*, BLASLONG);
+  int    (*somatcopy_k_ct)     (BLASLONG, BLASLONG, float, float*, BLASLONG, float*, BLASLONG);
+  int    (*somatcopy_k_rn)     (BLASLONG, BLASLONG, float, float*, BLASLONG, float*, BLASLONG);
+  int    (*somatcopy_k_rt)     (BLASLONG, BLASLONG, float, float*, BLASLONG, float*, BLASLONG);
+
   int    (*domatcopy_k_cn)     (BLASLONG, BLASLONG, double, double*, BLASLONG, double*, BLASLONG);
   int    (*domatcopy_k_ct)     (BLASLONG, BLASLONG, double, double*, BLASLONG, double*, BLASLONG);
   int    (*domatcopy_k_rn)     (BLASLONG, BLASLONG, double, double*, BLASLONG, double*, BLASLONG);
index cac1af3..4e9b6db 100644 (file)
 
 #define SAXPBY_K                saxpby_k
 
+#define SOMATCOPY_K_CN          somatcopy_k_cn
+#define SOMATCOPY_K_RN          somatcopy_k_rn
+#define SOMATCOPY_K_CT          somatcopy_k_ct
+#define SOMATCOPY_K_RT          somatcopy_k_rt
+
+
 #else
 
 #define        SAMAX_K                 gotoblas -> samax_k
 
 #define SAXPBY_K                gotoblas -> saxpby_k
 
+#define SOMATCOPY_K_CN          gotoblas -> somatcopy_k_cn
+#define SOMATCOPY_K_RN          gotoblas -> somatcopy_k_rn
+#define SOMATCOPY_K_CT          gotoblas -> somatcopy_k_ct
+#define SOMATCOPY_K_RT          gotoblas -> somatcopy_k_rt
+
+
 #endif
 
 #define        SGEMM_NN                sgemm_nn
index aaae702..0d302ee 100644 (file)
@@ -40,7 +40,9 @@ SBLAS2OBJS    = \
 
 SBLAS3OBJS    = \
                sgemm.$(SUFFIX) ssymm.$(SUFFIX) strmm.$(SUFFIX) \
-               strsm.$(SUFFIX) ssyrk.$(SUFFIX) ssyr2k.$(SUFFIX) 
+               strsm.$(SUFFIX) ssyrk.$(SUFFIX) ssyr2k.$(SUFFIX) \
+               somatcopy.$(SUFFIX)
+
 
 DBLAS1OBJS    = \
                daxpy.$(SUFFIX) dswap.$(SUFFIX) \
@@ -2025,6 +2027,9 @@ caxpby.$(SUFFIX) caxpby.$(PSUFFIX) : zaxpby.c
 cblas_caxpby.$(SUFFIX) cblas_caxpby.$(PSUFFIX) : zaxpby.c
        $(CC) $(CFLAGS) -DCBLAS -c $< -o $(@F)
 
-domatcopy.$(SUFFIX) domatcopy.$(PSUFFIX) : omatcopy.c ../param.h
+domatcopy.$(SUFFIX) domatcopy.$(PSUFFIX) : omatcopy.c 
+       $(CC) -c $(CFLAGS) $< -o $(@F)
+
+somatcopy.$(SUFFIX) domatcopy.$(PSUFFIX) : omatcopy.c 
        $(CC) -c $(CFLAGS) $< -o $(@F)
 
index 552773f..b03d2b9 100644 (file)
@@ -321,6 +321,9 @@ XBLASOBJS += \
 endif
 
 ######  BLAS extensions #####
+SBLASOBJS += \
+       somatcopy_k_cn$(TSUFFIX).$(SUFFIX) somatcopy_k_rn$(TSUFFIX).$(SUFFIX) \
+       somatcopy_k_ct$(TSUFFIX).$(SUFFIX) somatcopy_k_rt$(TSUFFIX).$(SUFFIX)
 
 DBLASOBJS += \
        domatcopy_k_cn$(TSUFFIX).$(SUFFIX) domatcopy_k_rn$(TSUFFIX).$(SUFFIX) \
@@ -3276,6 +3279,36 @@ endif
 $(KDIR)domatcopy_k_rt$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(DOMATCOPY_RT)
        $(CC) $(CFLAGS) -c -DDOUBLE -UCOMPLEX $< -o $@
 
+ifndef SOMATCOPY_CN
+SOMATCOPY_CN = ../arm/omatcopy_cn.c
+endif
+
+$(KDIR)somatcopy_k_cn$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(SOMATCOPY_CN)
+       $(CC) $(CFLAGS) -c -UDOUBLE -UCOMPLEX $< -o $@
+
+ifndef SOMATCOPY_RN
+SOMATCOPY_RN = ../arm/omatcopy_rn.c
+endif
+
+$(KDIR)somatcopy_k_rn$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(SOMATCOPY_RN)
+       $(CC) $(CFLAGS) -c -UDOUBLE -UCOMPLEX $< -o $@
+
+ifndef SOMATCOPY_CT
+SOMATCOPY_CT = ../arm/omatcopy_ct.c
+endif
+
+$(KDIR)somatcopy_k_ct$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(SOMATCOPY_CT)
+       $(CC) $(CFLAGS) -c -UDOUBLE -UCOMPLEX $< -o $@
+
+ifndef SOMATCOPY_RT
+SOMATCOPY_RT = ../arm/omatcopy_rt.c
+endif
+
+$(KDIR)somatcopy_k_rt$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(SOMATCOPY_RT)
+       $(CC) $(CFLAGS) -c -UDOUBLE -UCOMPLEX $< -o $@
+
+
+
 
 
 
index aaa68c6..6d41c82 100644 (file)
@@ -501,6 +501,8 @@ gotoblas_t TABLE_NAME = {
   SNUMOPT, DNUMOPT, QNUMOPT,
 
   saxpby_kTS, daxpby_kTS, caxpby_kTS, zaxpby_kTS,
+
+  somatcopy_k_cnTS, somatcopy_k_ctTS, somatcopy_k_rnTS, somatcopy_k_rtTS,
   domatcopy_k_cnTS, domatcopy_k_ctTS, domatcopy_k_rnTS, domatcopy_k_rtTS