Merge branch 'develop' into msvc
authorxoviat <49173759+xoviat@users.noreply.github.com>
Wed, 27 Jan 2021 20:15:59 +0000 (14:15 -0600)
committerGitHub <noreply@github.com>
Wed, 27 Jan 2021 20:15:59 +0000 (14:15 -0600)
1  2 
.gitignore
ctest/CMakeLists.txt
param.h
test/CMakeLists.txt

diff --cc .gitignore
@@@ -87,5 -89,5 +89,6 @@@ build.
  *.swp
  benchmark/*.goto
  benchmark/smallscaling
- .vscode
++.vscode
+ CMakeCache.txt
+ CMakeFiles/*
Simple merge
diff --cc param.h
+++ b/param.h
@@@ -72,8 -72,12 +72,14 @@@ USE OF THIS SOFTWARE, EVEN IF ADVISED O
  #ifndef PARAM_H
  #define PARAM_H
  
 +#include "common.h"
 +
+ #define SBGEMM_DEFAULT_UNROLL_N 4
+ #define SBGEMM_DEFAULT_UNROLL_M 8
+ #define SBGEMM_DEFAULT_UNROLL_MN 32
+ #define SBGEMM_DEFAULT_P 256
+ #define SBGEMM_DEFAULT_R 256
+ #define SBGEMM_DEFAULT_Q 256
  #ifdef OPTERON
  
  #define SNUMOPT               4
  
  #define GEMM_DEFAULT_OFFSET_A 2688
  #define GEMM_DEFAULT_OFFSET_B 3072
 -#define GEMM_DEFAULT_ALIGN 0x03fffUL
 +#define GEMM_DEFAULT_ALIGN (BLASLONG)0x03fffUL
  
+ #if defined(__BYTE_ORDER__)&&(__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
+ #define SGEMM_DEFAULT_UNROLL_M 4
+ #else
  #define SGEMM_DEFAULT_UNROLL_M 16
+ #endif
  #define SGEMM_DEFAULT_UNROLL_N 4
  #define DGEMM_DEFAULT_UNROLL_M 4
  #define DGEMM_DEFAULT_UNROLL_N 4
  
  #define GEMM_DEFAULT_OFFSET_A 0 
  #define GEMM_DEFAULT_OFFSET_B 65536
- #define GEMM_DEFAULT_ALIGN (BLASLONG)0x0ffffUL
 -#define GEMM_DEFAULT_ALIGN 0x0ffffUL
 +
++#define GEMM_DEFAULT_ALIGN (BLASLONG)0x0ffffUL
+ #if defined(__32BIT__)
+ #warning using BINARY32==POWER6
+ #define SGEMM_DEFAULT_UNROLL_M 4
+ #define SGEMM_DEFAULT_UNROLL_N 4
+ #define DGEMM_DEFAULT_UNROLL_M 4
+ #define DGEMM_DEFAULT_UNROLL_N 4
+ #define CGEMM_DEFAULT_UNROLL_M 2
+ #define CGEMM_DEFAULT_UNROLL_N 4
+ #define ZGEMM_DEFAULT_UNROLL_M 2
+ #define ZGEMM_DEFAULT_UNROLL_N 4
+ #else
  #define SGEMM_DEFAULT_UNROLL_M 16
  #define SGEMM_DEFAULT_UNROLL_N 8
  #define DGEMM_DEFAULT_UNROLL_M 16
  
  #define GEMM_DEFAULT_OFFSET_A 0
  #define GEMM_DEFAULT_OFFSET_B 0
 -#define GEMM_DEFAULT_ALIGN 0x03fffUL
 +#define GEMM_DEFAULT_ALIGN (BLASLONG)0x03fffUL
  
+ #ifdef HAVE_MSA
+ #define SGEMM_DEFAULT_UNROLL_M  8
+ #define SGEMM_DEFAULT_UNROLL_N  8
+ #define DGEMM_DEFAULT_UNROLL_M  8
+ #define DGEMM_DEFAULT_UNROLL_N  4
+ #define CGEMM_DEFAULT_UNROLL_M  8
+ #define CGEMM_DEFAULT_UNROLL_N  4
+ #define ZGEMM_DEFAULT_UNROLL_M  4
+ #define ZGEMM_DEFAULT_UNROLL_N  4
+ #else
  #define SGEMM_DEFAULT_UNROLL_M  8
  #define SGEMM_DEFAULT_UNROLL_N  4
  
  
  #define GEMM_DEFAULT_OFFSET_A 0
  #define GEMM_DEFAULT_OFFSET_B 0
 -#define GEMM_DEFAULT_ALIGN 0x03fffUL
 +#define GEMM_DEFAULT_ALIGN (BLASLONG)0x03fffUL
  
- #define SGEMM_DEFAULT_UNROLL_M  2
- #define SGEMM_DEFAULT_UNROLL_N  2
+ #define SGEMM_DEFAULT_UNROLL_M  8
+ #define SGEMM_DEFAULT_UNROLL_N  4
  
- #define DGEMM_DEFAULT_UNROLL_M  2
- #define DGEMM_DEFAULT_UNROLL_N  2
+ #define DGEMM_DEFAULT_UNROLL_M  4
+ #define DGEMM_DEFAULT_UNROLL_N  4
  
- #define CGEMM_DEFAULT_UNROLL_M  2
+ #define CGEMM_DEFAULT_UNROLL_M  4
  #define CGEMM_DEFAULT_UNROLL_N  2
  
  #define ZGEMM_DEFAULT_UNROLL_M  2
  #define SYMV_P  16
  #endif
  
- #ifdef ARMV7
- #define SNUMOPT               2
- #define DNUMOPT               2
+ #ifdef RISCV64_GENERIC
  #define GEMM_DEFAULT_OFFSET_A 0
  #define GEMM_DEFAULT_OFFSET_B 0
 -#define GEMM_DEFAULT_ALIGN 0x03fffUL
 +#define GEMM_DEFAULT_ALIGN (BLASLONG)0x03fffUL
  
- #define SGEMM_DEFAULT_UNROLL_M  4
- #define SGEMM_DEFAULT_UNROLL_N  4
+ #define SGEMM_DEFAULT_UNROLL_M  2
+ #define SGEMM_DEFAULT_UNROLL_N  2
  
- #define DGEMM_DEFAULT_UNROLL_M  4
- #define DGEMM_DEFAULT_UNROLL_N  4
+ #define DGEMM_DEFAULT_UNROLL_M  2
+ #define DGEMM_DEFAULT_UNROLL_N  2
  
  #define CGEMM_DEFAULT_UNROLL_M  2
  #define CGEMM_DEFAULT_UNROLL_N  2
  
  #define GEMM_DEFAULT_OFFSET_A 0
  #define GEMM_DEFAULT_OFFSET_B 0
 -#define GEMM_DEFAULT_ALIGN 0x03fffUL
 +#define GEMM_DEFAULT_ALIGN (BLASLONG)0x03fffUL
  
  #define SGEMM_DEFAULT_UNROLL_M  4
- #define SGEMM_DEFAULT_UNROLL_N  2
+ #define SGEMM_DEFAULT_UNROLL_N  4
  
  #define DGEMM_DEFAULT_UNROLL_M  4
- #define DGEMM_DEFAULT_UNROLL_N  2
+ #define DGEMM_DEFAULT_UNROLL_N  4
  
  #define CGEMM_DEFAULT_UNROLL_M  2
  #define CGEMM_DEFAULT_UNROLL_N  2
  
  #define GEMM_DEFAULT_OFFSET_A 0
  #define GEMM_DEFAULT_OFFSET_B 0
 -#define GEMM_DEFAULT_ALIGN 0x03fffUL
 +#define GEMM_DEFAULT_ALIGN (BLASLONG)0x03fffUL
  
- #define SYMV_P        16
- // Darwin / Cross
- #if defined(OS_DARWIN) && defined(CROSS)
- #define SGEMM_DEFAULT_UNROLL_M  2
+ #define SGEMM_DEFAULT_UNROLL_M  4
  #define SGEMM_DEFAULT_UNROLL_N  2
  
- #define DGEMM_DEFAULT_UNROLL_M  2
+ #define DGEMM_DEFAULT_UNROLL_M  4
  #define DGEMM_DEFAULT_UNROLL_N  2
  
  #define CGEMM_DEFAULT_UNROLL_M  2
@@@ -40,10 -33,20 +47,22 @@@ FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/
  "exit 0\n"
  "fi\n"
  )
 +set(helper_prefix sh "${CMAKE_CURRENT_BINARY_DIR}/test_helper.sh")
 +endif()
  
- set(float_types s d c z)
+ #set(float_types s d c z)
+ if (BUILD_SINGLE)
+       list (APPEND float_types s)
+ endif()
+ if (BUILD_DOUBLE)
+       list (APPEND float_types d)
+ endif()
+ if (BUILD_COMPLEX)
+       list (APPEND float_types c)
+ endif()
+ if (BUILD_COMPLEX16)
+       list (APPEND float_types z)
+ endif()
  foreach(float_type ${float_types})
  string(TOUPPER ${float_type} float_type_upper)
  add_test(NAME "${float_type}blas1"