Merge branch 'loongson3a' into develop
Conflicts: Makefile.system
This commit is contained in:
commit
77b572fa0b
|
@ -77,6 +77,11 @@ ifndef NO_PARALLEL_MAKE
|
||||||
NO_PARALLEL_MAKE=0
|
NO_PARALLEL_MAKE=0
|
||||||
endif
|
endif
|
||||||
GETARCH_FLAGS += -DNO_PARALLEL_MAKE=$(NO_PARALLEL_MAKE)
|
GETARCH_FLAGS += -DNO_PARALLEL_MAKE=$(NO_PARALLEL_MAKE)
|
||||||
|
|
||||||
|
ifeq ($(HOSTCC), loongcc)
|
||||||
|
GETARCH_FLAGS += -static
|
||||||
|
endif
|
||||||
|
|
||||||
# This operation is expensive, so execution should be once.
|
# This operation is expensive, so execution should be once.
|
||||||
ifndef GOTOBLAS_MAKEFILE
|
ifndef GOTOBLAS_MAKEFILE
|
||||||
export GOTOBLAS_MAKEFILE = 1
|
export GOTOBLAS_MAKEFILE = 1
|
||||||
|
@ -568,11 +573,28 @@ ifdef INTERFACE64
|
||||||
FCOMMON_OPT += -i8
|
FCOMMON_OPT += -i8
|
||||||
endif
|
endif
|
||||||
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
|
ifndef BINARY64
|
||||||
FCOMMON_OPT += -m32
|
FCOMMON_OPT += -m32
|
||||||
else
|
else
|
||||||
FCOMMON_OPT += -m64
|
FCOMMON_OPT += -m64
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
ifdef USE_OPENMP
|
ifdef USE_OPENMP
|
||||||
FEXTRALIB += -lstdc++
|
FEXTRALIB += -lstdc++
|
||||||
|
@ -581,12 +603,30 @@ endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(C_COMPILER), OPEN64)
|
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
|
ifndef BINARY64
|
||||||
CCOMMON_OPT += -m32
|
CCOMMON_OPT += -m32
|
||||||
else
|
else
|
||||||
CCOMMON_OPT += -m64
|
CCOMMON_OPT += -m64
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(C_COMPILER), SUN)
|
ifeq ($(C_COMPILER), SUN)
|
||||||
CCOMMON_OPT += -w
|
CCOMMON_OPT += -w
|
||||||
|
|
|
@ -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
|
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
|
### Debug version
|
||||||
|
|
||||||
make DEBUG=1
|
make DEBUG=1
|
||||||
|
|
|
@ -255,8 +255,8 @@ REALNAME: ;\
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(LOONGSON3B)
|
#if defined(LOONGSON3B)
|
||||||
#define PAGESIZE (32UL << 10)
|
#define PAGESIZE (16UL << 10)
|
||||||
#define FIXED_PAGESIZE (32UL << 10)
|
#define FIXED_PAGESIZE (16UL << 10)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef PAGESIZE
|
#ifndef PAGESIZE
|
||||||
|
|
|
@ -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].args = arg;
|
||||||
queue[num_cpu].range_m = range_m;
|
queue[num_cpu].range_m = range_m;
|
||||||
queue[num_cpu].range_n = &range[num_cpu];
|
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].sa = sa + GEMM_OFFSET_A1 * num_cpu;
|
||||||
queue[num_cpu].sb = queue[num_cpu].sa + GEMM_OFFSET_A1 * 5;
|
queue[num_cpu].sb = queue[num_cpu].sa + GEMM_OFFSET_A1 * 5;
|
||||||
#else
|
#else
|
||||||
|
@ -83,7 +83,7 @@ int CNAME(int mode, blas_arg_t *arg, BLASLONG *range_m, BLASLONG *range_n, int (
|
||||||
}
|
}
|
||||||
|
|
||||||
if (num_cpu) {
|
if (num_cpu) {
|
||||||
#if defined(LOONGSON3A)
|
#if 0 //defined(LOONGSON3A)
|
||||||
queue[0].sa = sa;
|
queue[0].sa = sa;
|
||||||
queue[0].sb = sa + GEMM_OFFSET_A1 * 5;
|
queue[0].sb = sa + GEMM_OFFSET_A1 * 5;
|
||||||
#else
|
#else
|
||||||
|
|
Loading…
Reference in New Issue