Browse Source

Merge branch 'loongson3a' into develop

Conflicts:
	Makefile.system
tags/v0.2.7
Zhang Xianyi 12 years ago
parent
commit
77b572fa0b
4 changed files with 48 additions and 4 deletions
  1. +40
    -0
      Makefile.system
  2. +4
    -0
      README.md
  3. +2
    -2
      common_mips64.h
  4. +2
    -2
      driver/level3/gemm_thread_n.c

+ 40
- 0
Makefile.system View File

@@ -77,6 +77,11 @@ ifndef NO_PARALLEL_MAKE
NO_PARALLEL_MAKE=0
endif
GETARCH_FLAGS += -DNO_PARALLEL_MAKE=$(NO_PARALLEL_MAKE)

ifeq ($(HOSTCC), loongcc)
GETARCH_FLAGS += -static
endif

# This operation is expensive, so execution should be once.
ifndef GOTOBLAS_MAKEFILE
export GOTOBLAS_MAKEFILE = 1
@@ -568,11 +573,28 @@ ifdef INTERFACE64
FCOMMON_OPT += -i8
endif
endif

ifeq ($(ARCH), mips64)
ifndef BINARY64
FCOMMON_OPT += -n32
else
FCOMMON_OPT += -n64
endif
ifeq ($(CORE), LOONGSON3A)
FCOMMON_OPT += -loongson3 -static
endif

ifeq ($(CORE), LOONGSON3B)
FCOMMON_OPT += -loongson3 -static
endif

else
ifndef BINARY64
FCOMMON_OPT += -m32
else
FCOMMON_OPT += -m64
endif
endif

ifdef USE_OPENMP
FEXTRALIB += -lstdc++
@@ -581,12 +603,30 @@ endif
endif

ifeq ($(C_COMPILER), OPEN64)

ifeq ($(ARCH), mips64)
ifndef BINARY64
CCOMMON_OPT += -n32
else
CCOMMON_OPT += -n64
endif
ifeq ($(CORE), LOONGSON3A)
CCOMMON_OPT += -loongson3 -static
endif

ifeq ($(CORE), LOONGSON3B)
CCOMMON_OPT += -loongson3 -static
endif

else

ifndef BINARY64
CCOMMON_OPT += -m32
else
CCOMMON_OPT += -m64
endif
endif
endif

ifeq ($(C_COMPILER), SUN)
CCOMMON_OPT += -w


+ 4
- 0
README.md View File

@@ -32,6 +32,10 @@ On X86 box, compile this library for loongson3a CPU.

make BINARY=64 CC=mips64el-unknown-linux-gnu-gcc FC=mips64el-unknown-linux-gnu-gfortran HOSTCC=gcc TARGET=LOONGSON3A

On X86 box, compile this library for loongson3a CPU with loongcc (based on Open64) compiler.

make CC=loongcc FC=loongf95 HOSTCC=gcc TARGET=LOONGSON3A CROSS=1 CROSS_SUFFIX=mips64el-st-linux-gnu- NO_LAPACKE=1 NO_SHARED=1 BINARY=32

### Debug version

make DEBUG=1


+ 2
- 2
common_mips64.h View File

@@ -255,8 +255,8 @@ REALNAME: ;\
#endif

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

#ifndef PAGESIZE


+ 2
- 2
driver/level3/gemm_thread_n.c View File

@@ -71,7 +71,7 @@ int CNAME(int mode, blas_arg_t *arg, BLASLONG *range_m, BLASLONG *range_n, int (
queue[num_cpu].args = arg;
queue[num_cpu].range_m = range_m;
queue[num_cpu].range_n = &range[num_cpu];
#if defined(LOONGSON3A)
#if 0 //defined(LOONGSON3A)
queue[num_cpu].sa = sa + GEMM_OFFSET_A1 * num_cpu;
queue[num_cpu].sb = queue[num_cpu].sa + GEMM_OFFSET_A1 * 5;
#else
@@ -83,7 +83,7 @@ int CNAME(int mode, blas_arg_t *arg, BLASLONG *range_m, BLASLONG *range_n, int (
}
if (num_cpu) {
#if defined(LOONGSON3A)
#if 0 //defined(LOONGSON3A)
queue[0].sa = sa;
queue[0].sb = sa + GEMM_OFFSET_A1 * 5;
#else


Loading…
Cancel
Save