Browse Source

BLAS3 used standard MIPS instructions without extensions on Loongson 3B.

tags/v0.1.0^2
Wang Qian 14 years ago
parent
commit
66904fc4e8
6 changed files with 8100 additions and 14 deletions
  1. +4
    -12
      kernel/mips64/KERNEL.LOONGSON3B
  2. +1468
    -0
      kernel/mips64/cgemm_kernel_loongson3b_2x2.S
  3. +2579
    -0
      kernel/mips64/dgemm_kernel_loongson3b_4x4.S
  4. +2579
    -0
      kernel/mips64/sgemm_kernel_loongson3b_4x4.S
  5. +1468
    -0
      kernel/mips64/zgemm_kernel_loongson3b_2x2.S
  6. +2
    -2
      param.h

+ 4
- 12
kernel/mips64/KERNEL.LOONGSON3B View File

@@ -11,33 +11,25 @@ ZGEMVNKERNEL = zgemv_n_loongson3a.c
ZGEMVTKERNEL = zgemv_t_loongson3a.c


SGEMMKERNEL = sgemm_kernel_8x4_ps.S
SGEMMINCOPY = ../generic/gemm_ncopy_8.c
SGEMMITCOPY = ../generic/gemm_tcopy_8.c
SGEMMKERNEL = sgemm_kernel_loongson3b_4x4.S
SGEMMONCOPY = ../generic/gemm_ncopy_4.c
SGEMMOTCOPY = ../generic/gemm_tcopy_4.c
SGEMMINCOPYOBJ = sgemm_incopy.o
SGEMMITCOPYOBJ = sgemm_itcopy.o
SGEMMONCOPYOBJ = sgemm_oncopy.o
SGEMMOTCOPYOBJ = sgemm_otcopy.o

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

CGEMMKERNEL = cgemm_kernel_loongson3a_4x2_ps.S
CGEMMINCOPY = ../generic/zgemm_ncopy_4.c
CGEMMITCOPY = ../generic/zgemm_tcopy_4.c
CGEMMKERNEL = cgemm_kernel_loongson3b_2x2.S
CGEMMONCOPY = ../generic/zgemm_ncopy_2.c
CGEMMOTCOPY = ../generic/zgemm_tcopy_2.c
CGEMMINCOPYOBJ = cgemm_incopy.o
CGEMMITCOPYOBJ = cgemm_itcopy.o
CGEMMONCOPYOBJ = cgemm_oncopy.o
CGEMMOTCOPYOBJ = cgemm_otcopy.o

ZGEMMKERNEL = zgemm_kernel_loongson3a_2x2.S
ZGEMMKERNEL = zgemm_kernel_loongson3b_2x2.S
ZGEMMONCOPY = ../generic/zgemm_ncopy_2.c
ZGEMMOTCOPY = ../generic/zgemm_tcopy_2.c
ZGEMMONCOPYOBJ = zgemm_oncopy.o


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


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


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


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


+ 2
- 2
param.h View File

@@ -1521,13 +1521,13 @@ 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 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 4
#define CGEMM_DEFAULT_UNROLL_M 2
#define CGEMM_DEFAULT_UNROLL_N 2

#define ZGEMM_DEFAULT_UNROLL_M 2


Loading…
Cancel
Save