Browse Source

Merge pull request #3469 from martin-frbg/issue2986

Roll back SkylakeX DGEMM kernels to 4x8 when compiling for DYNAMIC_ARCH
tags/v0.3.19
Martin Kroeker GitHub 4 years ago
parent
commit
2241068c26
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 0 deletions
  1. +6
    -0
      kernel/x86_64/KERNEL.SKYLAKEX
  2. +8
    -0
      param.h

+ 6
- 0
kernel/x86_64/KERNEL.SKYLAKEX View File

@@ -20,6 +20,7 @@ SGEMM_SMALL_K_B0_TN = sgemm_small_kernel_tn_skylakex.c
SGEMM_SMALL_K_TT = sgemm_small_kernel_tt_skylakex.c
SGEMM_SMALL_K_B0_TT = sgemm_small_kernel_tt_skylakex.c

ifndef DYNAMIC_ARCH
DGEMMKERNEL = dgemm_kernel_16x2_skylakex.c
DTRMMKERNEL = dgemm_kernel_16x2_skylakex.c
DGEMMINCOPY = ../generic/gemm_ncopy_16.c
@@ -27,6 +28,11 @@ DGEMMITCOPY = dgemm_tcopy_16_skylakex.c
DGEMMONCOPY = ../generic/gemm_ncopy_2.c
DGEMMOTCOPY = ../generic/gemm_tcopy_2.c
DTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
else
DGEMMKERNEL = dgemm_kernel_4x8_skylakex_2.c
DGEMMONCOPY = dgemm_ncopy_8_skylakex.c
DGEMMOTCOPY = dgemm_tcopy_8_skylakex.c
endif
DGEMM_SMALL_M_PERMIT = dgemm_small_kernel_permit_skylakex.c
DGEMM_SMALL_K_NN = dgemm_small_kernel_nn_skylakex.c
DGEMM_SMALL_K_B0_NN = dgemm_small_kernel_nn_skylakex.c


+ 8
- 0
param.h View File

@@ -1669,14 +1669,22 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#else

#define SGEMM_DEFAULT_UNROLL_M 16
#ifndef DYNAMIC_ARCH
#define DGEMM_DEFAULT_UNROLL_M 16
#else
#define DGEMM_DEFAULT_UNROLL_M 4
#endif
#define QGEMM_DEFAULT_UNROLL_M 2
#define CGEMM_DEFAULT_UNROLL_M 8
#define ZGEMM_DEFAULT_UNROLL_M 4
#define XGEMM_DEFAULT_UNROLL_M 1

#define SGEMM_DEFAULT_UNROLL_N 4
#ifndef DYNAMIC_ARCH
#define DGEMM_DEFAULT_UNROLL_N 2
#else
#define DGEMM_DEFAULT_UNROLL_N 8
#endif
#define QGEMM_DEFAULT_UNROLL_N 2
#define CGEMM_DEFAULT_UNROLL_N 2
#define ZGEMM_DEFAULT_UNROLL_N 2


Loading…
Cancel
Save