| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
0b08a4d8e6
|
Revert "Add basic support for the (mostly x86_64 compatible) Elbrus E2000 architecture" | 3 years ago |
| @@ -204,6 +204,3 @@ In chronological order: | |||||
| * [2021-11-12] SVE kernels for SGEMM, STRMM and corresponding SVE copy functions | * [2021-11-12] SVE kernels for SGEMM, STRMM and corresponding SVE copy functions | ||||
| * [2022-01-06] SVE kernels for CGEMM, ZGEMM, CTRMM, ZTRMM and corresponding SVE copy functions | * [2022-01-06] SVE kernels for CGEMM, ZGEMM, CTRMM, ZTRMM and corresponding SVE copy functions | ||||
| * [2022-01-18] SVE kernels and copy functions for TRSM | * [2022-01-18] SVE kernels and copy functions for TRSM | ||||
| * Ilya Kurdyukov <https://github.com/ilyakurdyukov> | |||||
| * [2021-02-21] Add basic support for the Elbrus E2000 architecture | |||||
| @@ -1 +0,0 @@ | |||||
| COPT = -Wall -O2 # -DGEMMTEST | |||||
| @@ -115,7 +115,3 @@ C910V | |||||
| 11.LOONGARCH64: | 11.LOONGARCH64: | ||||
| LOONGSON3R5 | LOONGSON3R5 | ||||
| 12. Elbrus E2000: | |||||
| E2K | |||||
| @@ -84,7 +84,6 @@ $os = Haiku if ($data =~ /OS_HAIKU/); | |||||
| $architecture = x86 if ($data =~ /ARCH_X86/); | $architecture = x86 if ($data =~ /ARCH_X86/); | ||||
| $architecture = x86_64 if ($data =~ /ARCH_X86_64/); | $architecture = x86_64 if ($data =~ /ARCH_X86_64/); | ||||
| $architecture = e2k if ($data =~ /ARCH_E2K/); | |||||
| $architecture = power if ($data =~ /ARCH_POWER/); | $architecture = power if ($data =~ /ARCH_POWER/); | ||||
| $architecture = mips if ($data =~ /ARCH_MIPS/); | $architecture = mips if ($data =~ /ARCH_MIPS/); | ||||
| $architecture = mips64 if ($data =~ /ARCH_MIPS64/); | $architecture = mips64 if ($data =~ /ARCH_MIPS64/); | ||||
| @@ -125,11 +124,6 @@ if ($architecture eq "zarch") { | |||||
| $binary = 64; | $binary = 64; | ||||
| } | } | ||||
| if ($architecture eq "e2k") { | |||||
| $defined = 1; | |||||
| $binary = 64; | |||||
| } | |||||
| if ($architecture eq "alpha") { | if ($architecture eq "alpha") { | ||||
| $defined = 1; | $defined = 1; | ||||
| $binary = 64; | $binary = 64; | ||||
| @@ -229,7 +223,6 @@ if (($architecture eq "mips") || ($architecture eq "mips64")) { | |||||
| $architecture = x86 if ($data =~ /ARCH_X86/); | $architecture = x86 if ($data =~ /ARCH_X86/); | ||||
| $architecture = x86_64 if ($data =~ /ARCH_X86_64/); | $architecture = x86_64 if ($data =~ /ARCH_X86_64/); | ||||
| $architecture = e2k if ($data =~ /ARCH_E2K/); | |||||
| $architecture = power if ($data =~ /ARCH_POWER/); | $architecture = power if ($data =~ /ARCH_POWER/); | ||||
| $architecture = mips if ($data =~ /ARCH_MIPS/); | $architecture = mips if ($data =~ /ARCH_MIPS/); | ||||
| $architecture = mips64 if ($data =~ /ARCH_MIPS64/); | $architecture = mips64 if ($data =~ /ARCH_MIPS64/); | ||||
| @@ -474,10 +474,6 @@ please https://github.com/xianyi/OpenBLAS/issues/246 | |||||
| #include "common_loongarch64.h" | #include "common_loongarch64.h" | ||||
| #endif | #endif | ||||
| #ifdef ARCH_E2K | |||||
| #include "common_e2k.h" | |||||
| #endif | |||||
| #ifndef ASSEMBLER | #ifndef ASSEMBLER | ||||
| #ifdef OS_WINDOWSSTORE | #ifdef OS_WINDOWSSTORE | ||||
| typedef char env_var_t[MAX_PATH]; | typedef char env_var_t[MAX_PATH]; | ||||
| @@ -1,64 +0,0 @@ | |||||
| /***************************************************************************** | |||||
| Copyright (c) 2011-2016, The OpenBLAS Project | |||||
| All rights reserved. | |||||
| Redistribution and use in source and binary forms, with or without | |||||
| modification, are permitted provided that the following conditions are | |||||
| met: | |||||
| 1. Redistributions of source code must retain the above copyright | |||||
| notice, this list of conditions and the following disclaimer. | |||||
| 2. Redistributions in binary form must reproduce the above copyright | |||||
| notice, this list of conditions and the following disclaimer in | |||||
| the documentation and/or other materials provided with the | |||||
| distribution. | |||||
| 3. Neither the name of the OpenBLAS project nor the names of | |||||
| its contributors may be used to endorse or promote products | |||||
| derived from this software without specific prior written | |||||
| permission. | |||||
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | |||||
| AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |||||
| IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |||||
| ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | |||||
| LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |||||
| DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | |||||
| SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | |||||
| CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |||||
| OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE | |||||
| USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||||
| **********************************************************************************/ | |||||
| #ifndef COMMON_E2K | |||||
| #define COMMON_E2K | |||||
| #ifdef ASSEMBLER | |||||
| #error | |||||
| #endif | |||||
| #define MB do { __asm__ __volatile__("": : :"memory"); } while (0) | |||||
| #define WMB do { __asm__ __volatile__("": : :"memory"); } while (0) | |||||
| #define RMB | |||||
| #define INLINE __attribute__((__always_inline__)) inline | |||||
| static inline int blas_quickdivide(blasint x, blasint y) { | |||||
| return x / y; | |||||
| } | |||||
| #ifndef PAGESIZE | |||||
| #define PAGESIZE ( 4 << 10) | |||||
| #endif | |||||
| #define HUGE_PAGESIZE ( 2 << 20) | |||||
| #ifndef BUFFERSIZE | |||||
| #define BUFFER_SIZE (32 << 20) | |||||
| #else | |||||
| #define BUFFER_SIZE (32 << BUFFERSIZE) | |||||
| #endif | |||||
| #define SEEK_ADDRESS | |||||
| #endif | |||||
| @@ -2611,7 +2611,7 @@ | |||||
| #ifndef ASSEMBLER | #ifndef ASSEMBLER | ||||
| #if defined(ARCH_X86) || defined(ARCH_X86_64) || defined(ARCH_IA64) || defined(ARCH_MIPS64) || defined(ARCH_ARM64)\ | #if 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) | |||||
| 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; | ||||
| @@ -165,7 +165,3 @@ ARCH_LOONGARCH64 | |||||
| HAVE_C11 | HAVE_C11 | ||||
| #endif | #endif | ||||
| #if defined(__e2k__) | |||||
| ARCH_E2K | |||||
| #endif | |||||
| @@ -1536,17 +1536,6 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |||||
| #endif | #endif | ||||
| #if defined(FORCE_E2K) || defined(__e2k__) | |||||
| #define FORCE | |||||
| #define ARCHITECTURE "E2K" | |||||
| #define ARCHCONFIG "-DGENERIC " \ | |||||
| "-DL1_DATA_SIZE=16384 -DL1_DATA_LINESIZE=64 " \ | |||||
| "-DL2_SIZE=524288 -DL2_LINESIZE=64 " \ | |||||
| "-DDTB_DEFAULT_ENTRIES=64 -DDTB_SIZE=4096 -DL2_ASSOCIATIVE=8 " | |||||
| #define LIBNAME "generic" | |||||
| #define CORENAME "generic" | |||||
| #endif | |||||
| #ifndef FORCE | #ifndef FORCE | ||||
| #ifdef USER_TARGET | #ifdef USER_TARGET | ||||
| @@ -617,10 +617,6 @@ $(KDIR)zgemm_beta$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(ZGEMM_BETA) | |||||
| $(KDIR)xgemm_beta$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(XGEMM_BETA) | $(KDIR)xgemm_beta$(TSUFFIX).$(SUFFIX) : $(KERNELDIR)/$(XGEMM_BETA) | ||||
| $(CC) $(CFLAGS) -c -DXDOUBLE -DCOMPLEX $< -o $@ | $(CC) $(CFLAGS) -c -DXDOUBLE -DCOMPLEX $< -o $@ | ||||
| ifeq ($(ARCH), E2K) | |||||
| USE_TRMM = 1 | |||||
| endif | |||||
| ifeq ($(BUILD_BFLOAT16), 1) | ifeq ($(BUILD_BFLOAT16), 1) | ||||
| @@ -1,149 +0,0 @@ | |||||
| SAMAXKERNEL = ../arm/amax.c | |||||
| DAMAXKERNEL = ../arm/amax.c | |||||
| CAMAXKERNEL = ../arm/zamax.c | |||||
| ZAMAXKERNEL = ../arm/zamax.c | |||||
| SAMINKERNEL = ../arm/amin.c | |||||
| DAMINKERNEL = ../arm/amin.c | |||||
| CAMINKERNEL = ../arm/zamin.c | |||||
| ZAMINKERNEL = ../arm/zamin.c | |||||
| SMAXKERNEL = ../arm/max.c | |||||
| DMAXKERNEL = ../arm/max.c | |||||
| SMINKERNEL = ../arm/min.c | |||||
| DMINKERNEL = ../arm/min.c | |||||
| ISAMAXKERNEL = ../arm/iamax.c | |||||
| IDAMAXKERNEL = ../arm/iamax.c | |||||
| ICAMAXKERNEL = ../arm/izamax.c | |||||
| IZAMAXKERNEL = ../arm/izamax.c | |||||
| ISAMINKERNEL = ../arm/iamin.c | |||||
| IDAMINKERNEL = ../arm/iamin.c | |||||
| ICAMINKERNEL = ../arm/izamin.c | |||||
| IZAMINKERNEL = ../arm/izamin.c | |||||
| ISMAXKERNEL = ../arm/imax.c | |||||
| IDMAXKERNEL = ../arm/imax.c | |||||
| ISMINKERNEL = ../arm/imin.c | |||||
| IDMINKERNEL = ../arm/imin.c | |||||
| SASUMKERNEL = ../arm/asum.c | |||||
| DASUMKERNEL = ../arm/asum.c | |||||
| CASUMKERNEL = ../arm/zasum.c | |||||
| ZASUMKERNEL = ../arm/zasum.c | |||||
| SSUMKERNEL = ../arm/sum.c | |||||
| DSUMKERNEL = ../arm/sum.c | |||||
| CSUMKERNEL = ../arm/zsum.c | |||||
| ZSUMKERNEL = ../arm/zsum.c | |||||
| SAXPYKERNEL = ../arm/axpy.c | |||||
| DAXPYKERNEL = ../arm/axpy.c | |||||
| CAXPYKERNEL = ../arm/zaxpy.c | |||||
| ZAXPYKERNEL = ../arm/zaxpy.c | |||||
| SCOPYKERNEL = ../arm/copy.c | |||||
| DCOPYKERNEL = ../arm/copy.c | |||||
| CCOPYKERNEL = ../arm/zcopy.c | |||||
| ZCOPYKERNEL = ../arm/zcopy.c | |||||
| SDOTKERNEL = ../arm/dot.c | |||||
| DDOTKERNEL = ../arm/dot.c | |||||
| CDOTKERNEL = ../arm/zdot.c | |||||
| ZDOTKERNEL = ../arm/zdot.c | |||||
| DSDOTKERNEL = ../generic/dot.c | |||||
| SNRM2KERNEL = ../arm/nrm2.c | |||||
| DNRM2KERNEL = ../arm/nrm2.c | |||||
| CNRM2KERNEL = ../arm/znrm2.c | |||||
| ZNRM2KERNEL = ../arm/znrm2.c | |||||
| SROTKERNEL = ../arm/rot.c | |||||
| DROTKERNEL = ../arm/rot.c | |||||
| CROTKERNEL = ../arm/zrot.c | |||||
| ZROTKERNEL = ../arm/zrot.c | |||||
| SSCALKERNEL = ../arm/scal.c | |||||
| DSCALKERNEL = ../arm/scal.c | |||||
| CSCALKERNEL = ../arm/zscal.c | |||||
| ZSCALKERNEL = ../arm/zscal.c | |||||
| SSWAPKERNEL = ../arm/swap.c | |||||
| DSWAPKERNEL = ../arm/swap.c | |||||
| CSWAPKERNEL = ../arm/zswap.c | |||||
| ZSWAPKERNEL = ../arm/zswap.c | |||||
| SGEMVNKERNEL = ../arm/gemv_n.c | |||||
| DGEMVNKERNEL = ../arm/gemv_n.c | |||||
| CGEMVNKERNEL = ../arm/zgemv_n.c | |||||
| ZGEMVNKERNEL = ../arm/zgemv_n.c | |||||
| SGEMVTKERNEL = ../arm/gemv_t.c | |||||
| DGEMVTKERNEL = ../arm/gemv_t.c | |||||
| CGEMVTKERNEL = ../arm/zgemv_t.c | |||||
| ZGEMVTKERNEL = ../arm/zgemv_t.c | |||||
| STRMMKERNEL = ../generic/trmmkernel_2x2.c | |||||
| DTRMMKERNEL = ../generic/trmmkernel_2x2.c | |||||
| CTRMMKERNEL = ../generic/ztrmmkernel_2x2.c | |||||
| ZTRMMKERNEL = ../generic/ztrmmkernel_2x2.c | |||||
| SGEMMKERNEL = ../generic/gemmkernel_2x2.c | |||||
| SGEMMONCOPY = ../generic/gemm_ncopy_2.c | |||||
| SGEMMOTCOPY = ../generic/gemm_tcopy_2.c | |||||
| SGEMMONCOPYOBJ = sgemm_oncopy$(TSUFFIX).$(SUFFIX) | |||||
| SGEMMOTCOPYOBJ = sgemm_otcopy$(TSUFFIX).$(SUFFIX) | |||||
| DGEMMKERNEL = ../generic/gemmkernel_2x2.c | |||||
| DGEMMONCOPY = ../generic/gemm_ncopy_2.c | |||||
| DGEMMOTCOPY = ../generic/gemm_tcopy_2.c | |||||
| DGEMMONCOPYOBJ = dgemm_oncopy$(TSUFFIX).$(SUFFIX) | |||||
| DGEMMOTCOPYOBJ = dgemm_otcopy$(TSUFFIX).$(SUFFIX) | |||||
| CGEMMKERNEL = ../generic/zgemmkernel_2x2.c | |||||
| CGEMMONCOPY = ../generic/zgemm_ncopy_2.c | |||||
| CGEMMOTCOPY = ../generic/zgemm_tcopy_2.c | |||||
| CGEMMONCOPYOBJ = cgemm_oncopy$(TSUFFIX).$(SUFFIX) | |||||
| CGEMMOTCOPYOBJ = cgemm_otcopy$(TSUFFIX).$(SUFFIX) | |||||
| ZGEMMKERNEL = ../generic/zgemmkernel_2x2.c | |||||
| ZGEMMONCOPY = ../generic/zgemm_ncopy_2.c | |||||
| ZGEMMOTCOPY = ../generic/zgemm_tcopy_2.c | |||||
| ZGEMMONCOPYOBJ = zgemm_oncopy$(TSUFFIX).$(SUFFIX) | |||||
| ZGEMMOTCOPYOBJ = zgemm_otcopy$(TSUFFIX).$(SUFFIX) | |||||
| STRSMKERNEL_LN = ../generic/trsm_kernel_LN.c | |||||
| STRSMKERNEL_LT = ../generic/trsm_kernel_LT.c | |||||
| STRSMKERNEL_RN = ../generic/trsm_kernel_RN.c | |||||
| STRSMKERNEL_RT = ../generic/trsm_kernel_RT.c | |||||
| DTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c | |||||
| DTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c | |||||
| DTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c | |||||
| DTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c | |||||
| CTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c | |||||
| CTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c | |||||
| CTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c | |||||
| CTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c | |||||
| ZTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c | |||||
| ZTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c | |||||
| ZTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c | |||||
| ZTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c | |||||
| SCABS_KERNEL = ../generic/cabs.c | |||||
| DCABS_KERNEL = ../generic/cabs.c | |||||
| QCABS_KERNEL = ../generic/cabs.c | |||||
| LSAME_KERNEL = ../generic/lsame.c | |||||
| SGEMM_BETA = ../generic/gemm_beta.c | |||||
| DGEMM_BETA = ../generic/gemm_beta.c | |||||
| CGEMM_BETA = ../generic/zgemm_beta.c | |||||
| ZGEMM_BETA = ../generic/zgemm_beta.c | |||||
| @@ -1 +0,0 @@ | |||||
| clean :: | |||||