Browse Source

Ref #51: added blas extension somatcopy

tags/v0.2.10.rc1^2
wernsaar 12 years ago
parent
commit
7bfb3011e8
7 changed files with 70 additions and 2 deletions
  1. +5
    -0
      common_level3.h
  2. +6
    -0
      common_macro.h
  3. +5
    -0
      common_param.h
  4. +12
    -0
      common_s.h
  5. +7
    -2
      interface/Makefile
  6. +33
    -0
      kernel/Makefile.L3
  7. +2
    -0
      kernel/setparam-ref.c

+ 5
- 0
common_level3.h View 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_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 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_cn(BLASLONG, BLASLONG, double, double *, BLASLONG, double *, BLASLONG);
int domatcopy_k_rn(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); int domatcopy_k_ct(BLASLONG, BLASLONG, double, double *, BLASLONG, double *, BLASLONG);


+ 6
- 0
common_macro.h View File

@@ -629,6 +629,7 @@
#define HERK_THREAD_LC DSYRK_THREAD_LT #define HERK_THREAD_LC DSYRK_THREAD_LT


#define AXPBY_K DAXPBY_K #define AXPBY_K DAXPBY_K

#define OMATCOPY_K_CN DOMATCOPY_K_CN #define OMATCOPY_K_CN DOMATCOPY_K_CN
#define OMATCOPY_K_RN DOMATCOPY_K_RN #define OMATCOPY_K_RN DOMATCOPY_K_RN
#define OMATCOPY_K_CT DOMATCOPY_K_CT #define OMATCOPY_K_CT DOMATCOPY_K_CT
@@ -926,6 +927,11 @@


#define AXPBY_K SAXPBY_K #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 #endif
#else #else
#ifdef XDOUBLE #ifdef XDOUBLE


+ 5
- 0
common_param.h View File

@@ -816,6 +816,11 @@ BLASLONG (*ixamin_k)(BLASLONG, xdouble *, BLASLONG);
int (*caxpby_k) (BLASLONG, float, float, float*, BLASLONG,float,float, float*, 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 (*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_cn) (BLASLONG, BLASLONG, double, double*, BLASLONG, double*, BLASLONG);
int (*domatcopy_k_ct) (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); int (*domatcopy_k_rn) (BLASLONG, BLASLONG, double, double*, BLASLONG, double*, BLASLONG);


+ 12
- 0
common_s.h View File

@@ -148,6 +148,12 @@


#define SAXPBY_K saxpby_k #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 #else


#define SAMAX_K gotoblas -> samax_k #define SAMAX_K gotoblas -> samax_k
@@ -263,6 +269,12 @@


#define SAXPBY_K gotoblas -> saxpby_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 #endif


#define SGEMM_NN sgemm_nn #define SGEMM_NN sgemm_nn


+ 7
- 2
interface/Makefile View File

@@ -40,7 +40,9 @@ SBLAS2OBJS = \


SBLAS3OBJS = \ SBLAS3OBJS = \
sgemm.$(SUFFIX) ssymm.$(SUFFIX) strmm.$(SUFFIX) \ sgemm.$(SUFFIX) ssymm.$(SUFFIX) strmm.$(SUFFIX) \
strsm.$(SUFFIX) ssyrk.$(SUFFIX) ssyr2k.$(SUFFIX)
strsm.$(SUFFIX) ssyrk.$(SUFFIX) ssyr2k.$(SUFFIX) \
somatcopy.$(SUFFIX)



DBLAS1OBJS = \ DBLAS1OBJS = \
daxpy.$(SUFFIX) dswap.$(SUFFIX) \ daxpy.$(SUFFIX) dswap.$(SUFFIX) \
@@ -2025,6 +2027,9 @@ caxpby.$(SUFFIX) caxpby.$(PSUFFIX) : zaxpby.c
cblas_caxpby.$(SUFFIX) cblas_caxpby.$(PSUFFIX) : zaxpby.c cblas_caxpby.$(SUFFIX) cblas_caxpby.$(PSUFFIX) : zaxpby.c
$(CC) $(CFLAGS) -DCBLAS -c $< -o $(@F) $(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) $(CC) -c $(CFLAGS) $< -o $(@F)



+ 33
- 0
kernel/Makefile.L3 View File

@@ -321,6 +321,9 @@ XBLASOBJS += \
endif endif


###### BLAS extensions ##### ###### BLAS extensions #####
SBLASOBJS += \
somatcopy_k_cn$(TSUFFIX).$(SUFFIX) somatcopy_k_rn$(TSUFFIX).$(SUFFIX) \
somatcopy_k_ct$(TSUFFIX).$(SUFFIX) somatcopy_k_rt$(TSUFFIX).$(SUFFIX)


DBLASOBJS += \ DBLASOBJS += \
domatcopy_k_cn$(TSUFFIX).$(SUFFIX) domatcopy_k_rn$(TSUFFIX).$(SUFFIX) \ domatcopy_k_cn$(TSUFFIX).$(SUFFIX) domatcopy_k_rn$(TSUFFIX).$(SUFFIX) \
@@ -3276,6 +3279,36 @@ endif
$(KDIR)domatcopy_k_rt$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(DOMATCOPY_RT) $(KDIR)domatcopy_k_rt$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(DOMATCOPY_RT)
$(CC) $(CFLAGS) -c -DDOUBLE -UCOMPLEX $< -o $@ $(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 $@











+ 2
- 0
kernel/setparam-ref.c View File

@@ -501,6 +501,8 @@ gotoblas_t TABLE_NAME = {
SNUMOPT, DNUMOPT, QNUMOPT, SNUMOPT, DNUMOPT, QNUMOPT,


saxpby_kTS, daxpby_kTS, caxpby_kTS, zaxpby_kTS, 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 domatcopy_k_cnTS, domatcopy_k_ctTS, domatcopy_k_rnTS, domatcopy_k_rtTS






Loading…
Cancel
Save