Browse Source

Merge branch 'loongson3a' into release-v0.1alpha2

tags/v0.1alpha2^2
Xianyi Zhang 14 years ago
parent
commit
c4efde7713
10 changed files with 12561 additions and 10 deletions
  1. +5
    -0
      common_mips64.h
  2. +22
    -0
      kernel/mips64/KERNEL
  3. +22
    -0
      kernel/mips64/KERNEL.LOONGSON3A
  4. +2390
    -0
      kernel/mips64/gemm_kernel_loongson3a.S
  5. +2579
    -0
      kernel/mips64/sgemm_kernel_loongson3a.S
  6. +1938
    -0
      kernel/mips64/trsm_kernel_LN_loongson3a.S
  7. +1783
    -0
      kernel/mips64/trsm_kernel_LT_loongson3a.S
  8. +1852
    -0
      kernel/mips64/trsm_kernel_RN_loongson3a.S
  9. +1958
    -0
      kernel/mips64/trsm_kernel_RT_loongson3a.S
  10. +12
    -10
      param.h

+ 5
- 0
common_mips64.h View File

@@ -220,6 +220,11 @@ REALNAME: ;\

#define BUFFER_SIZE ( 8 << 20)

#if defined(LOONGSON3A)
#define PAGESIZE (16UL << 10)
#define FIXED_PAGESIZE (16UL << 10)
#endif

#ifndef PAGESIZE
#define PAGESIZE (64UL << 10)
#endif


+ 22
- 0
kernel/mips64/KERNEL View File

@@ -91,15 +91,37 @@ ifndef ZGEMM_BETA
ZGEMM_BETA = ../generic/zgemm_beta.c
endif

ifndef STRSMKERNEL_LN
STRSMKERNEL_LN = trsm_kernel_LN.S
endif

ifndef STRSMKERNEL_LT
STRSMKERNEL_LT = trsm_kernel_LT.S
endif

ifndef STRSMKERNEL_RN
STRSMKERNEL_RN = trsm_kernel_LT.S
endif

ifndef STRSMKERNEL_RT
STRSMKERNEL_RT = trsm_kernel_RT.S
endif

ifndef DTRSMKERNEL_LN
DTRSMKERNEL_LN = trsm_kernel_LN.S
endif

ifndef DTRSMKERNEL_LT
DTRSMKERNEL_LT = trsm_kernel_LT.S
endif

ifndef DTRSMKERNEL_RN
DTRSMKERNEL_RN = trsm_kernel_LT.S
endif

ifndef DTRSMKERNEL_RT
DTRSMKERNEL_RT = trsm_kernel_RT.S
endif

CTRSMKERNEL_LN = ztrsm_kernel_LT.S
CTRSMKERNEL_LT = ztrsm_kernel_LT.S


+ 22
- 0
kernel/mips64/KERNEL.LOONGSON3A View File

@@ -1,2 +1,24 @@
SAXPYKERNEL=axpy_loongson3a.S
DAXPYKERNEL=daxpy_loongson3a_simd.S

SGEMMKERNEL = sgemm_kernel_loongson3a.S
SGEMMONCOPY = ../generic/gemm_ncopy_4.c
SGEMMOTCOPY = ../generic/gemm_tcopy_4.c
SGEMMONCOPYOBJ = sgemm_oncopy.o
SGEMMOTCOPYOBJ = sgemm_otcopy.o

DGEMMKERNEL = gemm_kernel_loongson3a.S
DGEMMONCOPY = ../generic/gemm_ncopy_4.c
DGEMMOTCOPY = ../generic/gemm_tcopy_4.c
DGEMMONCOPYOBJ = dgemm_oncopy.o
DGEMMOTCOPYOBJ = dgemm_otcopy.o

STRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
STRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
STRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
STRSMKERNEL_RT = ../generic/trsm_kernel_RT.c

DTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
DTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
DTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
DTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c

+ 2390
- 0
kernel/mips64/gemm_kernel_loongson3a.S
File diff suppressed because it is too large
View File


+ 2579
- 0
kernel/mips64/sgemm_kernel_loongson3a.S
File diff suppressed because it is too large
View File


+ 1938
- 0
kernel/mips64/trsm_kernel_LN_loongson3a.S
File diff suppressed because it is too large
View File


+ 1783
- 0
kernel/mips64/trsm_kernel_LT_loongson3a.S
File diff suppressed because it is too large
View File


+ 1852
- 0
kernel/mips64/trsm_kernel_RN_loongson3a.S
File diff suppressed because it is too large
View File


+ 1958
- 0
kernel/mips64/trsm_kernel_RT_loongson3a.S
File diff suppressed because it is too large
View File


+ 12
- 10
param.h View File

@@ -1480,27 +1480,29 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define GEMM_DEFAULT_OFFSET_B 0
#define GEMM_DEFAULT_ALIGN 0x03fffUL

#define SGEMM_DEFAULT_UNROLL_M 2
#define SGEMM_DEFAULT_UNROLL_N 8
#define DGEMM_DEFAULT_UNROLL_M 2
#define DGEMM_DEFAULT_UNROLL_N 8
#define SGEMM_DEFAULT_UNROLL_M 4
#define SGEMM_DEFAULT_UNROLL_N 4

#define DGEMM_DEFAULT_UNROLL_M 4
#define DGEMM_DEFAULT_UNROLL_N 4

#define CGEMM_DEFAULT_UNROLL_M 1
#define CGEMM_DEFAULT_UNROLL_N 4
#define ZGEMM_DEFAULT_UNROLL_M 1
#define ZGEMM_DEFAULT_UNROLL_N 4

#define SGEMM_DEFAULT_P 108
#define DGEMM_DEFAULT_P 112
#define SGEMM_DEFAULT_P 32
#define DGEMM_DEFAULT_P 32
#define CGEMM_DEFAULT_P 108
#define ZGEMM_DEFAULT_P 112

#define SGEMM_DEFAULT_Q 288
#define DGEMM_DEFAULT_Q 144
#define SGEMM_DEFAULT_Q 116
#define DGEMM_DEFAULT_Q 116
#define CGEMM_DEFAULT_Q 144
#define ZGEMM_DEFAULT_Q 72

#define SGEMM_DEFAULT_R 2000
#define DGEMM_DEFAULT_R 2000
#define SGEMM_DEFAULT_R 1000
#define DGEMM_DEFAULT_R 1000
#define CGEMM_DEFAULT_R 2000
#define ZGEMM_DEFAULT_R 2000



Loading…
Cancel
Save