Browse Source

Merge pull request #3725 from FlyGoat/alpha

Alpha build fixes
tags/v0.3.22^2
Martin Kroeker GitHub 3 years ago
parent
commit
8a5ad01acd
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
48 changed files with 105 additions and 75 deletions
  1. +12
    -30
      Makefile.alpha
  2. +4
    -0
      TargetList.txt
  3. +1
    -1
      common_alpha.h
  4. +1
    -1
      common_macro.h
  5. +5
    -0
      cpuid_alpha.c
  6. +40
    -1
      getarch.c
  7. +1
    -1
      kernel/alpha/amax.S
  8. +1
    -1
      kernel/alpha/asum.S
  9. +1
    -1
      kernel/alpha/axpy.S
  10. +1
    -1
      kernel/alpha/cabs.S
  11. +1
    -1
      kernel/alpha/cnrm2.S
  12. +1
    -1
      kernel/alpha/copy.S
  13. +1
    -1
      kernel/alpha/cscal.S
  14. +1
    -1
      kernel/alpha/dnrm2.S
  15. +1
    -1
      kernel/alpha/dot.S
  16. +1
    -1
      kernel/alpha/gemm_beta.S
  17. +1
    -1
      kernel/alpha/gemm_kernel_4x4.S
  18. +1
    -1
      kernel/alpha/gemv_n.S
  19. +1
    -1
      kernel/alpha/gemv_t.S
  20. +1
    -1
      kernel/alpha/iamax.S
  21. +1
    -1
      kernel/alpha/imax.S
  22. +1
    -1
      kernel/alpha/izamax.S
  23. +1
    -1
      kernel/alpha/lsame.S
  24. +1
    -1
      kernel/alpha/max.S
  25. +1
    -1
      kernel/alpha/rot.S
  26. +1
    -1
      kernel/alpha/scal.S
  27. +1
    -1
      kernel/alpha/snrm2.S
  28. +1
    -1
      kernel/alpha/sum.S
  29. +1
    -1
      kernel/alpha/swap.S
  30. +1
    -1
      kernel/alpha/trsm_kernel_4x4_LN.S
  31. +1
    -1
      kernel/alpha/trsm_kernel_4x4_LT.S
  32. +1
    -1
      kernel/alpha/trsm_kernel_4x4_RT.S
  33. +1
    -1
      kernel/alpha/zamax.S
  34. +1
    -1
      kernel/alpha/zasum.S
  35. +1
    -1
      kernel/alpha/zaxpy.S
  36. +1
    -1
      kernel/alpha/zdot.S
  37. +1
    -1
      kernel/alpha/zgemm_beta.S
  38. +1
    -1
      kernel/alpha/zgemm_kernel_2x2.S
  39. +1
    -1
      kernel/alpha/zgemv_n.S
  40. +1
    -1
      kernel/alpha/zgemv_t.S
  41. +1
    -1
      kernel/alpha/znrm2.S
  42. +1
    -1
      kernel/alpha/zrot.S
  43. +1
    -1
      kernel/alpha/zscal.S
  44. +1
    -1
      kernel/alpha/zsum.S
  45. +1
    -1
      kernel/alpha/zswap.S
  46. +1
    -1
      kernel/alpha/ztrsm_kernel_2x2_LN.S
  47. +1
    -1
      kernel/alpha/ztrsm_kernel_2x2_LT.S
  48. +1
    -1
      kernel/alpha/ztrsm_kernel_2x2_RT.S

+ 12
- 30
Makefile.alpha View File

@@ -1,42 +1,24 @@
CPP = $(CC) -E
RANLIB = ranlib

ifeq ($(LIBSUBARCH), EV4)
LIBNAME = $(LIBPREFIX)_ev4.a
LIBNAME_P = $(LIBPREFIX)_ev4_p.a
endif

ifeq ($(LIBSUBARCH), EV5)
LIBNAME = $(LIBPREFIX)_ev5.a
LIBNAME_P = $(LIBPREFIX)_ev5_p.a
endif

ifeq ($(LIBSUBARCH), EV6)
LIBNAME = $(LIBPREFIX)_ev6.a
LIBNAME_P = $(LIBPREFIX)_ev6_p.a
endif

ifneq ($(COMPILER), NATIVE)
# GCC User
ifeq ($(LIBSUBARCH), EV4)
OPTION += -DEV4 -mcpu=ev4
ifeq ($(CORE), EV4)
CCOMMON_OPT += -mcpu=ev4
endif
ifeq ($(LIBSUBARCH), EV5)
OPTION += -DEV5 -mcpu=ev5
ifeq ($(CORE), EV5)
CCOMMON_OPT += -mcpu=ev5
endif
ifeq ($(LIBSUBARCH), EV6)
OPTION += -DEV6 -mcpu=ev6
ifeq ($(CORE), EV6)
CCOMMON_OPT += -mcpu=ev6
endif
else
# Compaq Compiler User
ifeq ($(LIBSUBARCH), EV4)
OPTION += -DEV4 -tune ev4 -arch ev4
ifeq ($(CORE), EV4)
CCOMMON_OPT += -tune ev4 -arch ev4
endif
ifeq ($(LIBSUBARCH), EV5)
OPTION += -DEV5 -tune ev5 -arch ev5
ifeq ($(CORE), EV5)
CCOMMON_OPT += -tune ev5 -arch ev5
endif
ifeq ($(LIBSUBARCH), EV6)
OPTION += -DEV6 -tune ev6 -arch ev6
ifeq ($(CORE), EV6)
CCOMMON_OPT += -tune ev6 -arch ev6
endif
endif



+ 4
- 0
TargetList.txt View File

@@ -128,3 +128,7 @@ LOONGSON2K1000
12. Elbrus E2000:
E2K

13. Alpha
EV4
EV5
EV6

+ 1
- 1
common_alpha.h View File

@@ -43,7 +43,7 @@

#define MB asm("mb")
#define WMB asm("wmb")
#define RMB asm("rmb")
#define RMB asm("mb")

static void __inline blas_lock(unsigned long *address){
#ifndef __DECC


+ 1
- 1
common_macro.h View File

@@ -2612,7 +2612,7 @@
#ifndef ASSEMBLER
#if !defined(DYNAMIC_ARCH) \
&& (defined(ARCH_X86) || defined(ARCH_X86_64) || defined(ARCH_IA64) || defined(ARCH_MIPS64) || defined(ARCH_ARM64) \
|| defined(ARCH_LOONGARCH64) || defined(ARCH_E2K))
|| defined(ARCH_LOONGARCH64) || defined(ARCH_E2K) || defined(ARCH_ALPHA))
extern BLASLONG gemm_offset_a;
extern BLASLONG gemm_offset_b;
extern BLASLONG sbgemm_p;


+ 5
- 0
cpuid_alpha.c View File

@@ -59,6 +59,11 @@ void get_subarchitecture(void){
printf("ev%d", implver() + 4);
}


void get_corename(void){
printf("EV%d", implver() + 4);
}

void get_subdirname(void){
printf("alpha");
}


+ 40
- 1
getarch.c View File

@@ -146,6 +146,9 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/* #define FORCE_SPARCV7 */
/* #define FORCE_ZARCH_GENERIC */
/* #define FORCE_Z13 */
/* #define FORCE_EV4 */
/* #define FORCE_EV5 */
/* #define FORCE_EV6 */
/* #define FORCE_GENERIC */

#ifdef FORCE_P2
@@ -1601,6 +1604,42 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define CORENAME "Z14"
#endif

#ifdef FORCE_EV4
#define FORCE
#define ARCHITECTURE "ALPHA"
#define SUBARCHITECTURE "ev4"
#define ARCHCONFIG "-DEV4 " \
"-DL1_DATA_SIZE=16384 -DL1_DATA_LINESIZE=32 " \
"-DL2_SIZE=2097152 -DL2_LINESIZE=32 " \
"-DDTB_DEFAULT_ENTRIES=32 -DDTB_SIZE=8192 "
#define LIBNAME "ev4"
#define CORENAME "EV4"
#endif

#ifdef FORCE_EV5
#define FORCE
#define ARCHITECTURE "ALPHA"
#define SUBARCHITECTURE "ev5"
#define ARCHCONFIG "-DEV5 " \
"-DL1_DATA_SIZE=16384 -DL1_DATA_LINESIZE=32 " \
"-DL2_SIZE=2097152 -DL2_LINESIZE=64 " \
"-DDTB_DEFAULT_ENTRIES=64 -DDTB_SIZE=8192 "
#define LIBNAME "ev5"
#define CORENAME "EV5"
#endif

#ifdef FORCE_EV6
#define FORCE
#define ARCHITECTURE "ALPHA"
#define SUBARCHITECTURE "ev6"
#define ARCHCONFIG "-DEV6 " \
"-DL1_DATA_SIZE=32768 -DL1_DATA_LINESIZE=64 " \
"-DL2_SIZE=4194304 -DL2_LINESIZE=64 " \
"-DDTB_DEFAULT_ENTRIES=64 -DDTB_SIZE=8192 "
#define LIBNAME "ev6"
#define CORENAME "EV6"
#endif

#ifdef FORCE_C910V
#define FORCE
#define ARCHITECTURE "RISCV64"
@@ -1777,7 +1816,7 @@ int main(int argc, char *argv[]){
#ifdef FORCE
printf("CORE=%s\n", CORENAME);
#else
#if defined(INTEL_AMD) || defined(POWER) || defined(__mips__) || defined(__arm__) || defined(__aarch64__) || defined(ZARCH) || defined(sparc) || defined(__loongarch__) || defined(__riscv)
#if defined(INTEL_AMD) || defined(POWER) || defined(__mips__) || defined(__arm__) || defined(__aarch64__) || defined(ZARCH) || defined(sparc) || defined(__loongarch__) || defined(__riscv) || defined(__alpha__)
printf("CORE=%s\n", get_corename());
#endif
#endif


+ 1
- 1
kernel/alpha/amax.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define N $16
#define X $17


+ 1
- 1
kernel/alpha/asum.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define PREFETCHSIZE 88



+ 1
- 1
kernel/alpha/axpy.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define PREFETCHSIZE 40



+ 1
- 1
kernel/alpha/cabs.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

.set noat
.set noreorder


+ 1
- 1
kernel/alpha/cnrm2.S View File

@@ -39,7 +39,7 @@
#define ASSEMBLER

#include "common.h"
#include "version.h"

#define PREFETCH_SIZE 80



+ 1
- 1
kernel/alpha/copy.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define N $16
#define X $17


+ 1
- 1
kernel/alpha/cscal.S View File

@@ -42,7 +42,7 @@
#define ASSEMBLER

#include "common.h"
#include "version.h"

.globl NAME
.ent NAME


+ 1
- 1
kernel/alpha/dnrm2.S View File

@@ -39,7 +39,7 @@
#define ASSEMBLER

#include "common.h"
#include "version.h"

#define PREFETCH_SIZE 80



+ 1
- 1
kernel/alpha/dot.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define PREFETCHSIZE 88



+ 1
- 1
kernel/alpha/gemm_beta.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

.set noat
.set noreorder


+ 1
- 1
kernel/alpha/gemm_kernel_4x4.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#if !defined(EV4) && !defined(EV5) && !defined(EV6)
#error "Architecture is not specified."


+ 1
- 1
kernel/alpha/gemv_n.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define STACKSIZE 64
#define PREFETCHSIZE 32


+ 1
- 1
kernel/alpha/gemv_t.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define STACKSIZE 64
#define PREFETCHSIZE 32


+ 1
- 1
kernel/alpha/iamax.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define N $16
#define X $17


+ 1
- 1
kernel/alpha/imax.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define N $16
#define X $17


+ 1
- 1
kernel/alpha/izamax.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define N $16
#define X $17


+ 1
- 1
kernel/alpha/lsame.S View File

@@ -36,7 +36,7 @@
/* or implied, of The University of Texas at Austin. */
/*********************************************************************/

#include "version.h"

.set noat
.set noreorder


+ 1
- 1
kernel/alpha/max.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define N $16
#define X $17


+ 1
- 1
kernel/alpha/rot.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define N $16
#define X $17


+ 1
- 1
kernel/alpha/scal.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define PREFETCHSIZE 88



+ 1
- 1
kernel/alpha/snrm2.S View File

@@ -39,7 +39,7 @@
#define ASSEMBLER

#include "common.h"
#include "version.h"

#define PREFETCH_SIZE 80



+ 1
- 1
kernel/alpha/sum.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define PREFETCHSIZE 88



+ 1
- 1
kernel/alpha/swap.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

PROLOGUE
PROFCODE


+ 1
- 1
kernel/alpha/trsm_kernel_4x4_LN.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#if !defined(EV4) && !defined(EV5) && !defined(EV6)
#error "Architecture is not specified."


+ 1
- 1
kernel/alpha/trsm_kernel_4x4_LT.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#if !defined(EV4) && !defined(EV5) && !defined(EV6)
#error "Architecture is not specified."


+ 1
- 1
kernel/alpha/trsm_kernel_4x4_RT.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#if !defined(EV4) && !defined(EV5) && !defined(EV6)
#error "Architecture is not specified."


+ 1
- 1
kernel/alpha/zamax.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define N $16
#define X $17


+ 1
- 1
kernel/alpha/zasum.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define PREFETCHSIZE 88



+ 1
- 1
kernel/alpha/zaxpy.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define PREFETCHSIZE 40



+ 1
- 1
kernel/alpha/zdot.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define PREFETCHSIZE 88



+ 1
- 1
kernel/alpha/zgemm_beta.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

.set noat
.set noreorder


+ 1
- 1
kernel/alpha/zgemm_kernel_2x2.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#if !defined(EV4) && !defined(EV5) && !defined(EV6)
#error "Architecture is not specified."


+ 1
- 1
kernel/alpha/zgemv_n.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define STACKSIZE 64
#define PREFETCHSIZE 32


+ 1
- 1
kernel/alpha/zgemv_t.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define STACKSIZE 64
#define PREFETCHSIZE 32


+ 1
- 1
kernel/alpha/znrm2.S View File

@@ -39,7 +39,7 @@
#define ASSEMBLER

#include "common.h"
#include "version.h"

#define PREFETCH_SIZE 80



+ 1
- 1
kernel/alpha/zrot.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define N $16
#define X $17


+ 1
- 1
kernel/alpha/zscal.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define PREFETCHSIZE 88



+ 1
- 1
kernel/alpha/zsum.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#define PREFETCHSIZE 88



+ 1
- 1
kernel/alpha/zswap.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

PROLOGUE
PROFCODE


+ 1
- 1
kernel/alpha/ztrsm_kernel_2x2_LN.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#if !defined(EV4) && !defined(EV5) && !defined(EV6)
#error "Architecture is not specified."


+ 1
- 1
kernel/alpha/ztrsm_kernel_2x2_LT.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#if !defined(EV4) && !defined(EV5) && !defined(EV6)
#error "Architecture is not specified."


+ 1
- 1
kernel/alpha/ztrsm_kernel_2x2_RT.S View File

@@ -38,7 +38,7 @@

#define ASSEMBLER
#include "common.h"
#include "version.h"

#if !defined(EV4) && !defined(EV5) && !defined(EV6)
#error "Architecture is not specified."


Loading…
Cancel
Save