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




+ 4
- 0
TargetList.txt View File

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


13. Alpha
EV4
EV5
EV6

+ 1
- 1
common_alpha.h View File

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


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


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


+ 1
- 1
common_macro.h View File

@@ -2612,7 +2612,7 @@
#ifndef ASSEMBLER #ifndef ASSEMBLER
#if !defined(DYNAMIC_ARCH) \ #if !defined(DYNAMIC_ARCH) \
&& (defined(ARCH_X86) || defined(ARCH_X86_64) || defined(ARCH_IA64) || defined(ARCH_MIPS64) || defined(ARCH_ARM64) \ && (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_a;
extern BLASLONG gemm_offset_b; extern BLASLONG gemm_offset_b;
extern BLASLONG sbgemm_p; extern BLASLONG sbgemm_p;


+ 5
- 0
cpuid_alpha.c View File

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



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

void get_subdirname(void){ void get_subdirname(void){
printf("alpha"); 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_SPARCV7 */
/* #define FORCE_ZARCH_GENERIC */ /* #define FORCE_ZARCH_GENERIC */
/* #define FORCE_Z13 */ /* #define FORCE_Z13 */
/* #define FORCE_EV4 */
/* #define FORCE_EV5 */
/* #define FORCE_EV6 */
/* #define FORCE_GENERIC */ /* #define FORCE_GENERIC */


#ifdef FORCE_P2 #ifdef FORCE_P2
@@ -1601,6 +1604,42 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define CORENAME "Z14" #define CORENAME "Z14"
#endif #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 #ifdef FORCE_C910V
#define FORCE #define FORCE
#define ARCHITECTURE "RISCV64" #define ARCHITECTURE "RISCV64"
@@ -1777,7 +1816,7 @@ int main(int argc, char *argv[]){
#ifdef FORCE #ifdef FORCE
printf("CORE=%s\n", CORENAME); printf("CORE=%s\n", CORENAME);
#else #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()); printf("CORE=%s\n", get_corename());
#endif #endif
#endif #endif


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

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


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


#define N $16 #define N $16
#define X $17 #define X $17


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

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


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


#define PREFETCHSIZE 88 #define PREFETCHSIZE 88




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

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


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


#define PREFETCHSIZE 40 #define PREFETCHSIZE 40




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

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


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


.set noat .set noat
.set noreorder .set noreorder


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

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


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


#define PREFETCH_SIZE 80 #define PREFETCH_SIZE 80




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

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


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


#define N $16 #define N $16
#define X $17 #define X $17


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

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


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


.globl NAME .globl NAME
.ent NAME .ent NAME


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

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


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


#define PREFETCH_SIZE 80 #define PREFETCH_SIZE 80




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

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


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


#define PREFETCHSIZE 88 #define PREFETCHSIZE 88




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

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


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


.set noat .set noat
.set noreorder .set noreorder


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

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


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


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


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

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


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


#define STACKSIZE 64 #define STACKSIZE 64
#define PREFETCHSIZE 32 #define PREFETCHSIZE 32


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

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


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


#define STACKSIZE 64 #define STACKSIZE 64
#define PREFETCHSIZE 32 #define PREFETCHSIZE 32


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

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


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


#define N $16 #define N $16
#define X $17 #define X $17


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

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


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


#define N $16 #define N $16
#define X $17 #define X $17


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

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


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


#define N $16 #define N $16
#define X $17 #define X $17


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

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


#include "version.h"


.set noat .set noat
.set noreorder .set noreorder


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

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


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


#define N $16 #define N $16
#define X $17 #define X $17


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

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


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


#define N $16 #define N $16
#define X $17 #define X $17


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

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


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


#define PREFETCHSIZE 88 #define PREFETCHSIZE 88




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

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


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


#define PREFETCH_SIZE 80 #define PREFETCH_SIZE 80




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

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


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


#define PREFETCHSIZE 88 #define PREFETCHSIZE 88




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

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


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


PROLOGUE PROLOGUE
PROFCODE PROFCODE


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

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


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


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


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

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


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


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


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

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


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


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


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

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


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


#define N $16 #define N $16
#define X $17 #define X $17


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

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


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


#define PREFETCHSIZE 88 #define PREFETCHSIZE 88




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

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


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


#define PREFETCHSIZE 40 #define PREFETCHSIZE 40




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

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


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


#define PREFETCHSIZE 88 #define PREFETCHSIZE 88




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

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


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


.set noat .set noat
.set noreorder .set noreorder


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

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


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


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


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

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


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


#define STACKSIZE 64 #define STACKSIZE 64
#define PREFETCHSIZE 32 #define PREFETCHSIZE 32


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

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


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


#define STACKSIZE 64 #define STACKSIZE 64
#define PREFETCHSIZE 32 #define PREFETCHSIZE 32


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

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


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


#define PREFETCH_SIZE 80 #define PREFETCH_SIZE 80




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

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


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


#define N $16 #define N $16
#define X $17 #define X $17


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

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


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


#define PREFETCHSIZE 88 #define PREFETCHSIZE 88




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

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


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


#define PREFETCHSIZE 88 #define PREFETCHSIZE 88




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

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


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


PROLOGUE PROLOGUE
PROFCODE PROFCODE


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

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


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


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


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

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


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


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


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

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


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


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


Loading…
Cancel
Save