From 5f8744d4e46f0e3cfac480feb9098bad6641491e Mon Sep 17 00:00:00 2001 From: Chris Sidebottom Date: Thu, 1 Aug 2024 17:08:37 +0100 Subject: [PATCH] Add tunings for baseline AArch64 Previously this was left without `SWITCH_RATIO` or `GEMM_PREFERED_SIZE` and older default values, but it can be seen across other cores that these values seem to work for many devices. --- param.h | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/param.h b/param.h index 931cd257d..220748a59 100644 --- a/param.h +++ b/param.h @@ -3708,6 +3708,14 @@ Until then, just keep it different than DGEMM_DEFAULT_UNROLL_N to keep copy rout #else /* Other/undetected ARMv8 cores */ +#if defined(XDOUBLE) || defined(DOUBLE) +#define SWITCH_RATIO 8 +#define GEMM_PREFERED_SIZE 4 +#else +#define SWITCH_RATIO 16 +#define GEMM_PREFERED_SIZE 8 +#endif + #define SGEMM_DEFAULT_UNROLL_M 16 #define SGEMM_DEFAULT_UNROLL_N 4 @@ -3720,13 +3728,13 @@ Until then, just keep it different than DGEMM_DEFAULT_UNROLL_N to keep copy rout #define ZGEMM_DEFAULT_UNROLL_M 4 #define ZGEMM_DEFAULT_UNROLL_N 4 -#define SGEMM_DEFAULT_P 128 -#define DGEMM_DEFAULT_P 160 +#define SGEMM_DEFAULT_P 240 +#define DGEMM_DEFAULT_P 240 #define CGEMM_DEFAULT_P 128 #define ZGEMM_DEFAULT_P 128 -#define SGEMM_DEFAULT_Q 352 -#define DGEMM_DEFAULT_Q 128 +#define SGEMM_DEFAULT_Q 640 +#define DGEMM_DEFAULT_Q 320 #define CGEMM_DEFAULT_Q 224 #define ZGEMM_DEFAULT_Q 112