Skip to content

Commit f655a85

Browse files
committed
Initial support for SkylakeX / AVX512
This patch adds the basic infrastructure for adding the SkylakeX (Intel Skylake server) target. The SkylakeX target will use the AVX512 (AVX512VL level) instruction set, which brings 2 basic things: 1) 512 bit wide SIMD (2x width of AVX2) 2) 32 SIMD registers (2x the number on AVX2) This initial patch only contains a trivial transofrmation of the Haswell SGEMM kernel to AVX512VL; more will follow later but this patch aims to get the infrastructure in place for this "later". Full performance tuning has not been done yet; with more registers and wider SIMD it's in theory possible to retune the kernels but even without that there's an interesting enough performance increase (30-40% range) with just this change.
1 parent 36c4523 commit f655a85

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+7034
-47
lines changed

Makefile.system

+7-1
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@ ifeq ($(BINARY), 32)
6262
ifeq ($(TARGET), HASWELL)
6363
GETARCH_FLAGS := -DFORCE_NEHALEM
6464
endif
65+
ifeq ($(TARGET), SKYLAKEX)
66+
GETARCH_FLAGS := -DFORCE_NEHALEM
67+
endif
6568
ifeq ($(TARGET), SANDYBRIDGE)
6669
GETARCH_FLAGS := -DFORCE_NEHALEM
6770
endif
@@ -95,6 +98,9 @@ ifeq ($(BINARY), 32)
9598
ifeq ($(TARGET_CORE), HASWELL)
9699
GETARCH_FLAGS := -DFORCE_NEHALEM
97100
endif
101+
ifeq ($(TARGET_CORE), SKYLAKEX)
102+
GETARCH_FLAGS := -DFORCE_NEHALEM
103+
endif
98104
ifeq ($(TARGET_CORE), SANDYBRIDGE)
99105
GETARCH_FLAGS := -DFORCE_NEHALEM
100106
endif
@@ -467,7 +473,7 @@ ifneq ($(NO_AVX), 1)
467473
DYNAMIC_CORE += SANDYBRIDGE BULLDOZER PILEDRIVER STEAMROLLER EXCAVATOR
468474
endif
469475
ifneq ($(NO_AVX2), 1)
470-
DYNAMIC_CORE += HASWELL ZEN
476+
DYNAMIC_CORE += HASWELL ZEN SKYLAKEX
471477
endif
472478
endif
473479

TargetList.txt

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ DUNNINGTON
2020
NEHALEM
2121
SANDYBRIDGE
2222
HASWELL
23+
SKYLAKEX
2324
ATOM
2425

2526
b)AMD CPU:

cmake/arch.cmake

+3
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ if (DYNAMIC_ARCH)
5656
if (NOT NO_AVX2)
5757
set(DYNAMIC_CORE ${DYNAMIC_CORE} HASWELL ZEN)
5858
endif ()
59+
if (NOT NO_AVX512)
60+
set(DYNAMIC_CORE ${DYNAMIC_CORE} SKYLAKEX)
61+
endif ()
5962
endif ()
6063

6164
if (NOT DYNAMIC_CORE)

cmake/system.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ endif ()
3333
if (DEFINED BINARY AND DEFINED TARGET AND BINARY EQUAL 32)
3434
message(STATUS "Compiling a ${BINARY}-bit binary.")
3535
set(NO_AVX 1)
36-
if (${TARGET} STREQUAL "HASWELL" OR ${TARGET} STREQUAL "SANDYBRIDGE")
36+
if (${TARGET} STREQUAL "HASWELL" OR ${TARGET} STREQUAL "SANDYBRIDGE" OR ${TARGET} STREQUAL "SKYLAKEX")
3737
set(TARGET "NEHALEM")
3838
endif ()
3939
if (${TARGET} STREQUAL "BULLDOZER" OR ${TARGET} STREQUAL "PILEDRIVER" OR ${TARGET} STREQUAL "ZEN")

cpuid.h

+3
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@
115115
#define CORE_STEAMROLLER 25
116116
#define CORE_EXCAVATOR 26
117117
#define CORE_ZEN 27
118+
#define CORE_SKYLAKEX 28
118119

119120
#define HAVE_SSE (1 << 0)
120121
#define HAVE_SSE2 (1 << 1)
@@ -137,6 +138,7 @@
137138
#define HAVE_AVX (1 << 18)
138139
#define HAVE_FMA4 (1 << 19)
139140
#define HAVE_FMA3 (1 << 20)
141+
#define HAVE_AVX512VL (1 << 21)
140142

141143
#define CACHE_INFO_L1_I 1
142144
#define CACHE_INFO_L1_D 2
@@ -211,5 +213,6 @@ typedef struct {
211213
#define CPUTYPE_STEAMROLLER 49
212214
#define CPUTYPE_EXCAVATOR 50
213215
#define CPUTYPE_ZEN 51
216+
#define CPUTYPE_SKYLAKEX 52
214217

215218
#endif

cpuid_x86.c

+2
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@
5050
#ifdef NO_AVX
5151
#define CPUTYPE_HASWELL CPUTYPE_NEHALEM
5252
#define CORE_HASWELL CORE_NEHALEM
53+
#define CPUTYPE_SKYLAKEX CPUTYPE_NEHALEM
54+
#define CORE_SKYLAKEX CORE_NEHALEM
5355
#define CPUTYPE_SANDYBRIDGE CPUTYPE_NEHALEM
5456
#define CORE_SANDYBRIDGE CORE_NEHALEM
5557
#define CPUTYPE_BULLDOZER CPUTYPE_BARCELONA

driver/others/dynamic.c

+2
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ extern gotoblas_t gotoblas_STEAMROLLER;
7474
extern gotoblas_t gotoblas_EXCAVATOR;
7575
#ifdef NO_AVX2
7676
#define gotoblas_HASWELL gotoblas_SANDYBRIDGE
77+
#define gotoblas_SKYLAKEX gotoblas_SANDYBRIDGE
7778
#define gotoblas_ZEN gotoblas_SANDYBRIDGE
7879
#else
7980
extern gotoblas_t gotoblas_HASWELL;
@@ -83,6 +84,7 @@ extern gotoblas_t gotoblas_ZEN;
8384
//Use NEHALEM kernels for sandy bridge
8485
#define gotoblas_SANDYBRIDGE gotoblas_NEHALEM
8586
#define gotoblas_HASWELL gotoblas_NEHALEM
87+
#define gotoblas_SKYLAKEX gotoblas_NEHALEM
8688
#define gotoblas_BULLDOZER gotoblas_BARCELONA
8789
#define gotoblas_PILEDRIVER gotoblas_BARCELONA
8890
#define gotoblas_STEAMROLLER gotoblas_BARCELONA

driver/others/parameter.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ int get_L2_size(void){
167167
#if defined(ATHLON) || defined(OPTERON) || defined(BARCELONA) || defined(BOBCAT) || defined(BULLDOZER) || \
168168
defined(CORE_PRESCOTT) || defined(CORE_CORE2) || defined(PENRYN) || defined(DUNNINGTON) || \
169169
defined(CORE_NEHALEM) || defined(CORE_SANDYBRIDGE) || defined(ATOM) || defined(GENERIC) || \
170-
defined(PILEDRIVER) || defined(HASWELL) || defined(STEAMROLLER) || defined(EXCAVATOR) || defined(ZEN)
170+
defined(PILEDRIVER) || defined(HASWELL) || defined(STEAMROLLER) || defined(EXCAVATOR) || defined(ZEN) || defined(SKYLAKEX)
171171

172172
cpuid(0x80000006, &eax, &ebx, &ecx, &edx);
173173

@@ -251,7 +251,7 @@ int get_L2_size(void){
251251
void blas_set_parameter(void){
252252

253253
int factor;
254-
#if defined(BULLDOZER) || defined(PILEDRIVER) || defined(SANDYBRIDGE) || defined(NEHALEM) || defined(HASWELL) || defined(STEAMROLLER) || defined(EXCAVATOR) || defined(ZEN)
254+
#if defined(BULLDOZER) || defined(PILEDRIVER) || defined(SANDYBRIDGE) || defined(NEHALEM) || defined(HASWELL) || defined(STEAMROLLER) || defined(EXCAVATOR) || defined(ZEN) || defined(SKYLAKEX)
255255
int size = 16;
256256
#else
257257
int size = get_L2_size();

getarch.c

+15
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,21 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
326326
#define CORENAME "HASWELL"
327327
#endif
328328

329+
#ifdef FORCE_SKYLAKEX
330+
#define FORCE
331+
#define FORCE_INTEL
332+
#define ARCHITECTURE "X86"
333+
#define SUBARCHITECTURE "SKYLAKEX"
334+
#define ARCHCONFIG "-DSKYLAKEX " \
335+
"-DL1_DATA_SIZE=32768 -DL1_DATA_LINESIZE=64 " \
336+
"-DL2_SIZE=262144 -DL2_LINESIZE=64 " \
337+
"-DDTB_DEFAULT_ENTRIES=64 -DDTB_SIZE=4096 " \
338+
"-DHAVE_CMOV -DHAVE_MMX -DHAVE_SSE -DHAVE_SSE2 -DHAVE_SSE3 -DHAVE_SSSE3 -DHAVE_SSE4_1 -DHAVE_SSE4_2 -DHAVE_AVX " \
339+
"-DFMA3 -DHAVE_AVX512VL -march=skylake-avx512"
340+
#define LIBNAME "skylakex"
341+
#define CORENAME "SKYLAKEX"
342+
#endif
343+
329344
#ifdef FORCE_ATOM
330345
#define FORCE
331346
#define FORCE_INTEL

kernel/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ function (build_core TARGET_CORE KDIR TSUFFIX KERNEL_DEFINITIONS)
121121
# Makefile.L3
122122
set(USE_TRMM false)
123123

124-
if (ARM OR ARM64 OR "${TARGET_CORE}" STREQUAL "LONGSOON3B" OR "${TARGET_CORE}" STREQUAL "GENERIC" OR "${CORE}" STREQUAL "generic" OR "${TARGET_CORE}" STREQUAL "HASWELL" OR "${CORE}" STREQUAL "haswell" OR "${CORE}" STREQUAL "zen")
124+
if (ARM OR ARM64 OR "${TARGET_CORE}" STREQUAL "LONGSOON3B" OR "${TARGET_CORE}" STREQUAL "GENERIC" OR "${CORE}" STREQUAL "generic" OR "${TARGET_CORE}" STREQUAL "HASWELL" OR "${CORE}" STREQUAL "haswell" OR "${CORE}" STREQUAL "zen" or "${TARGET_CORE}" STREQUAL "SKYLAKEX" or "${CORE}" STREQUAL "skylakex")
125125
set(USE_TRMM true)
126126
endif ()
127127

kernel/Makefile.L3

+4
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ ifeq ($(CORE), HASWELL)
3232
USE_TRMM = 1
3333
endif
3434

35+
ifeq ($(CORE), SKYLAKEX)
36+
USE_TRMM = 1
37+
endif
38+
3539
ifeq ($(CORE), ZEN)
3640
USE_TRMM = 1
3741
endif

kernel/setparam-ref.c

+16
Original file line numberDiff line numberDiff line change
@@ -871,6 +871,22 @@ static void init_parameter(void) {
871871
#endif
872872
#endif
873873

874+
#ifdef SKYLAKEX
875+
876+
#ifdef DEBUG
877+
fprintf(stderr, "SkylakeX\n");
878+
#endif
879+
880+
TABLE_NAME.sgemm_p = SGEMM_DEFAULT_P;
881+
TABLE_NAME.dgemm_p = DGEMM_DEFAULT_P;
882+
TABLE_NAME.cgemm_p = CGEMM_DEFAULT_P;
883+
TABLE_NAME.zgemm_p = ZGEMM_DEFAULT_P;
884+
#ifdef EXPRECISION
885+
TABLE_NAME.qgemm_p = QGEMM_DEFAULT_P;
886+
TABLE_NAME.xgemm_p = XGEMM_DEFAULT_P;
887+
#endif
888+
#endif
889+
874890

875891
#ifdef OPTERON
876892

kernel/x86/trsm_kernel_LN_2x4_penryn.S

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
#define PREFETCHSIZE (8 * 21 + 4)
6363
#endif
6464

65-
#if defined(NEHALEM) || defined(SANDYBRIDGE) || defined(HASWELL)
65+
#if defined(NEHALEM) || defined(SANDYBRIDGE) || defined(HASWELL) || defined (SKYLAKEX)
6666
#define PREFETCH prefetcht0
6767
#define PREFETCHSIZE (8 * 21 + 4)
6868
#endif

kernel/x86/trsm_kernel_LN_4x4_penryn.S

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
#define PREFETCHSIZE (8 * 21 + 4)
6363
#endif
6464

65-
#if defined(NEHALEM) || defined(SANDYBRIDGE) || defined(HASWELL)
65+
#if defined(NEHALEM) || defined(SANDYBRIDGE) || defined(HASWELL) || defined (SKYLAKEX)
6666
#define PREFETCH prefetcht0
6767
#define PREFETCHSIZE (8 * 21 + 4)
6868
#endif

kernel/x86/trsm_kernel_LT_2x4_penryn.S

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
#define PREFETCHSIZE (8 * 21 + 4)
6363
#endif
6464

65-
#if defined(NEHALEM) || defined(SANDYBRIDGE) || defined(HASWELL)
65+
#if defined(NEHALEM) || defined(SANDYBRIDGE) || defined(HASWELL) || defined (SKYLAKEX)
6666
#define PREFETCH prefetcht0
6767
#define PREFETCHSIZE (8 * 21 + 4)
6868
#endif

kernel/x86/trsm_kernel_LT_4x4_penryn.S

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
#define PREFETCHSIZE (8 * 21 + 4)
6363
#endif
6464

65-
#if defined(NEHALEM) || defined(SANDYBRIDGE) || defined(HASWELL)
65+
#if defined(NEHALEM) || defined(SANDYBRIDGE) || defined(HASWELL || defined (SKYLAKEX))
6666
#define PREFETCH prefetcht0
6767
#define PREFETCHSIZE (8 * 21 + 4)
6868
#endif

kernel/x86/trsm_kernel_RT_2x4_penryn.S

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
#define PREFETCHSIZE (8 * 21 + 4)
6363
#endif
6464

65-
#if defined(NEHALEM) || defined(SANDYBRIDGE) || defined(HASWELL)
65+
#if defined(NEHALEM) || defined(SANDYBRIDGE) || defined(HASWELL) || defined (SKYLAKEX)
6666
#define PREFETCH prefetcht0
6767
#define PREFETCHSIZE (8 * 21 + 4)
6868
#endif

kernel/x86/trsm_kernel_RT_4x4_penryn.S

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
#define PREFETCHSIZE (8 * 21 + 4)
6363
#endif
6464

65-
#if defined(NEHALEM) || defined(SANDYBRIDGE) || defined(HASWELL)
65+
#if defined(NEHALEM) || defined(SANDYBRIDGE) || defined(HASWELL) || defined (SKYLAKEX)
6666
#define PREFETCH prefetcht0
6767
#define PREFETCHSIZE (8 * 21 + 4)
6868
#endif

kernel/x86/ztrsm_kernel_LN_2x2_penryn.S

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
#define PREFETCHSIZE 84
6262
#endif
6363

64-
#if defined(NEHALEM) || defined(SANDYBRIDGE) || defined(HASWELL)
64+
#if defined(NEHALEM) || defined(SANDYBRIDGE) || defined(HASWELL) || defined (SKYLAKEX)
6565
#define PREFETCH prefetcht1
6666
#define PREFETCHSIZE 84
6767
#endif

kernel/x86/ztrsm_kernel_LT_1x2_penryn.S

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
#define PREFETCHSIZE 84
6464
#endif
6565

66-
#if defined(NEHALEM) || defined(SANDYBRIDGE) || defined(HASWELL)
66+
#if defined(NEHALEM) || defined(SANDYBRIDGE) || defined(HASWELL) || defined (SKYLAKEX)
6767
#define PREFETCH prefetcht1
6868
#define PREFETCHSIZE 84
6969
#endif

kernel/x86/ztrsm_kernel_LT_2x2_penryn.S

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
#define PREFETCHSIZE 84
6262
#endif
6363

64-
#if defined(NEHALEM) || defined(SANDYBRIDGE) || defined(HASWELL)
64+
#if defined(NEHALEM) || defined(SANDYBRIDGE) || defined(HASWELL) || defined (SKYLAKEX)
6565
#define PREFETCH prefetcht1
6666
#define PREFETCHSIZE 84
6767
#endif

kernel/x86/ztrsm_kernel_RT_1x2_penryn.S

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
#define PREFETCHSIZE 84
6464
#endif
6565

66-
#if defined(NEHALEM) || defined(SANDYBRIDGE) || defined(HASWELL)
66+
#if defined(NEHALEM) || defined(SANDYBRIDGE) || defined(HASWELL) || defined (SKYLAKEX)
6767
#define PREFETCH prefetcht1
6868
#define PREFETCHSIZE 84
6969
#endif

kernel/x86/ztrsm_kernel_RT_2x2_penryn.S

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
#define PREFETCHSIZE 84
6262
#endif
6363

64-
#if defined(NEHALEM) || defined(SANDYBRIDGE) || defined(HASWELL)
64+
#if defined(NEHALEM) || defined(SANDYBRIDGE) || defined(HASWELL) || defined (SKYLAKEX)
6565
#define PREFETCH prefetcht1
6666
#define PREFETCHSIZE 84
6767
#endif

kernel/x86_64/KERNEL.SKYLAKEX

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
include $(KERNELDIR)/KERNEL.HASWELL
2+
3+
SGEMMKERNEL = sgemm_kernel_16x4_skylakex.S
4+

kernel/x86_64/caxpy.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3333
#include "caxpy_microk_steamroller-2.c"
3434
#elif defined(BULLDOZER)
3535
#include "caxpy_microk_bulldozer-2.c"
36-
#elif defined(HASWELL) || defined(ZEN)
36+
#elif defined(HASWELL) || defined(ZEN) || defined(SKYLAKEX)
3737
#include "caxpy_microk_haswell-2.c"
3838
#elif defined(SANDYBRIDGE)
3939
#include "caxpy_microk_sandy-2.c"

kernel/x86_64/cdot.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3434
#include "cdot_microk_bulldozer-2.c"
3535
#elif defined(STEAMROLLER) || defined(PILEDRIVER) || defined(EXCAVATOR)
3636
#include "cdot_microk_steamroller-2.c"
37-
#elif defined(HASWELL) || defined(ZEN)
37+
#elif defined(HASWELL) || defined(ZEN) || defined (SKYLAKEX)
3838
#include "cdot_microk_haswell-2.c"
3939
#elif defined(SANDYBRIDGE)
4040
#include "cdot_microk_sandy-2.c"

kernel/x86_64/cgemv_n_4.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2929
#include <stdio.h>
3030
#include "common.h"
3131

32-
#if defined(HASWELL) || defined(ZEN)
32+
#if defined(HASWELL) || defined(ZEN) || defined (SKYLAKEX)
3333
#include "cgemv_n_microk_haswell-4.c"
3434
#elif defined(BULLDOZER) || defined(PILEDRIVER) || defined(STEAMROLLER) || defined(EXCAVATOR)
3535
#include "cgemv_n_microk_bulldozer-4.c"

kernel/x86_64/cgemv_t_4.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2828

2929
#include "common.h"
3030

31-
#if defined(HASWELL) || defined(ZEN)
31+
#if defined(HASWELL) || defined(ZEN) || defined (SKYLAKEX)
3232
#include "cgemv_t_microk_haswell-4.c"
3333
#elif defined(BULLDOZER) || defined(PILEDRIVER) || defined(STEAMROLLER) || defined(EXCAVATOR)
3434
#include "cgemv_t_microk_bulldozer-4.c"

kernel/x86_64/cscal.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2828
#include "common.h"
2929

3030

31-
#if defined(HASWELL) || defined(ZEN)
31+
#if defined(HASWELL) || defined(ZEN) || defined (SKYLAKEX)
3232
#include "cscal_microk_haswell-2.c"
3333
#elif defined(BULLDOZER) || defined(PILEDRIVER)
3434
#include "cscal_microk_bulldozer-2.c"

kernel/x86_64/daxpy.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3737
#include "daxpy_microk_steamroller-2.c"
3838
#elif defined(PILEDRIVER)
3939
#include "daxpy_microk_piledriver-2.c"
40-
#elif defined(HASWELL) || defined(ZEN)
40+
#elif defined(HASWELL) || defined(ZEN) || defined (SKYLAKEX)
4141
#include "daxpy_microk_haswell-2.c"
4242
#elif defined(SANDYBRIDGE)
4343
#include "daxpy_microk_sandy-2.c"

kernel/x86_64/ddot.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3737
#include "ddot_microk_piledriver-2.c"
3838
#elif defined(NEHALEM)
3939
#include "ddot_microk_nehalem-2.c"
40-
#elif defined(HASWELL) || defined(ZEN)
40+
#elif defined(HASWELL) || defined(ZEN) || defined (SKYLAKEX)
4141
#include "ddot_microk_haswell-2.c"
4242
#elif defined(SANDYBRIDGE)
4343
#include "ddot_microk_sandy-2.c"

kernel/x86_64/dgemv_n_4.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3131

3232
#if defined(NEHALEM)
3333
#include "dgemv_n_microk_nehalem-4.c"
34-
#elif defined(HASWELL) || defined(ZEN) || defined(STEAMROLLER) || defined(EXCAVATOR)
34+
#elif defined(HASWELL) || defined(ZEN) || defined(STEAMROLLER) || defined(EXCAVATOR) || defined (SKYLAKEX)
3535
#include "dgemv_n_microk_haswell-4.c"
3636
#endif
3737

kernel/x86_64/dgemv_t_4.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2828

2929
#include "common.h"
3030

31-
#if defined(HASWELL) || defined(ZEN) || defined(STEAMROLLER) || defined(EXCAVATOR)
31+
#if defined(HASWELL) || defined(ZEN) || defined(STEAMROLLER) || defined(EXCAVATOR) || defined (SKYLAKEX)
3232
#include "dgemv_t_microk_haswell-4.c"
3333
#endif
3434

kernel/x86_64/dscal.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3131
#include "dscal_microk_bulldozer-2.c"
3232
#elif defined(SANDYBRIDGE)
3333
#include "dscal_microk_sandy-2.c"
34-
#elif defined(HASWELL) || defined(ZEN)
34+
#elif defined(HASWELL) || defined(ZEN) || defined (SKYLAKEX)
3535
#include "dscal_microk_haswell-2.c"
3636
#endif
3737

kernel/x86_64/dsymv_L.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3030

3131
#if defined(BULLDOZER) || defined(PILEDRIVER) || defined(STEAMROLLER) || defined(EXCAVATOR)
3232
#include "dsymv_L_microk_bulldozer-2.c"
33-
#elif defined(HASWELL) || defined(ZEN)
33+
#elif defined(HASWELL) || defined(ZEN) || defined (SKYLAKEX)
3434
#include "dsymv_L_microk_haswell-2.c"
3535
#elif defined(SANDYBRIDGE)
3636
#include "dsymv_L_microk_sandy-2.c"

kernel/x86_64/dsymv_U.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3131

3232
#if defined(BULLDOZER) || defined(PILEDRIVER) || defined(STEAMROLLER) || defined(EXCAVATOR)
3333
#include "dsymv_U_microk_bulldozer-2.c"
34-
#elif defined(HASWELL) || defined(ZEN)
34+
#elif defined(HASWELL) || defined(ZEN) || defined (SKYLAKEX)
3535
#include "dsymv_U_microk_haswell-2.c"
3636
#elif defined(SANDYBRIDGE)
3737
#include "dsymv_U_microk_sandy-2.c"

0 commit comments

Comments
 (0)