Skip to content

Commit a85c278

Browse files
committed
Refs #467. Added generic kernel file for x86_64.
1 parent 4806715 commit a85c278

3 files changed

Lines changed: 63 additions & 7 deletions

File tree

kernel/Makefile.L3

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ ifeq ($(TARGET), LOONGSON3B)
2828
USE_TRMM = 1
2929
endif
3030

31+
ifeq ($(TARGET), GENERIC)
32+
USE_TRMM = 1
33+
endif
34+
3135

3236

3337
SKERNELOBJS += \

kernel/x86_64/KERNEL.generic

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
STRMMKERNEL = ../generic/trmmkernel_2x2.c
2+
DTRMMKERNEL = ../generic/trmmkernel_2x2.c
3+
CTRMMKERNEL = ../generic/ztrmmkernel_2x2.c
4+
ZTRMMKERNEL = ../generic/ztrmmkernel_2x2.c
5+
6+
SGEMMKERNEL = ../generic/gemmkernel_2x2.c
7+
SGEMMONCOPY = ../generic/gemm_ncopy_2.c
8+
SGEMMOTCOPY = ../generic/gemm_tcopy_2.c
9+
SGEMMONCOPYOBJ = sgemm_oncopy.o
10+
SGEMMOTCOPYOBJ = sgemm_otcopy.o
11+
12+
DGEMMKERNEL = ../generic/gemmkernel_2x2.c
13+
DGEMMONCOPY = ../generic/gemm_ncopy_2.c
14+
DGEMMOTCOPY = ../generic/gemm_tcopy_2.c
15+
DGEMMONCOPYOBJ = dgemm_oncopy.o
16+
DGEMMOTCOPYOBJ = dgemm_otcopy.o
17+
18+
CGEMMKERNEL = ../generic/zgemmkernel_2x2.c
19+
CGEMMONCOPY = ../generic/zgemm_ncopy_2.c
20+
CGEMMOTCOPY = ../generic/zgemm_tcopy_2.c
21+
CGEMMONCOPYOBJ = cgemm_oncopy.o
22+
CGEMMOTCOPYOBJ = cgemm_otcopy.o
23+
24+
ZGEMMKERNEL = ../generic/zgemmkernel_2x2.c
25+
ZGEMMONCOPY = ../generic/zgemm_ncopy_2.c
26+
ZGEMMOTCOPY = ../generic/zgemm_tcopy_2.c
27+
ZGEMMONCOPYOBJ = zgemm_oncopy.o
28+
ZGEMMOTCOPYOBJ = zgemm_otcopy.o
29+
30+
STRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
31+
STRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
32+
STRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
33+
STRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
34+
35+
DTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
36+
DTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
37+
DTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
38+
DTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
39+
40+
CTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
41+
CTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
42+
CTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
43+
CTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
44+
45+
ZTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
46+
ZTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
47+
ZTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
48+
ZTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
49+
50+
#Todo: CGEMM3MKERNEL should be 4x4 blocksizes.
51+
CGEMM3MKERNEL = zgemm3m_kernel_8x4_sse3.S
52+
ZGEMM3MKERNEL = zgemm3m_kernel_4x4_sse3.S

param.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2122,25 +2122,25 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
21222122
#define GEMM_DEFAULT_OFFSET_B 0
21232123
#define GEMM_DEFAULT_ALIGN 0x0ffffUL
21242124

2125-
#define SGEMM_DEFAULT_UNROLL_N 4
2126-
#define DGEMM_DEFAULT_UNROLL_N 4
2125+
#define SGEMM_DEFAULT_UNROLL_N 2
2126+
#define DGEMM_DEFAULT_UNROLL_N 2
21272127
#define QGEMM_DEFAULT_UNROLL_N 2
21282128
#define CGEMM_DEFAULT_UNROLL_N 2
21292129
#define ZGEMM_DEFAULT_UNROLL_N 2
21302130
#define XGEMM_DEFAULT_UNROLL_N 1
21312131

21322132
#ifdef ARCH_X86
2133-
#define SGEMM_DEFAULT_UNROLL_M 4
2133+
#define SGEMM_DEFAULT_UNROLL_M 2
21342134
#define DGEMM_DEFAULT_UNROLL_M 2
21352135
#define QGEMM_DEFAULT_UNROLL_M 2
21362136
#define CGEMM_DEFAULT_UNROLL_M 2
2137-
#define ZGEMM_DEFAULT_UNROLL_M 1
2137+
#define ZGEMM_DEFAULT_UNROLL_M 2
21382138
#define XGEMM_DEFAULT_UNROLL_M 1
21392139
#else
2140-
#define SGEMM_DEFAULT_UNROLL_M 8
2141-
#define DGEMM_DEFAULT_UNROLL_M 4
2140+
#define SGEMM_DEFAULT_UNROLL_M 2
2141+
#define DGEMM_DEFAULT_UNROLL_M 2
21422142
#define QGEMM_DEFAULT_UNROLL_M 2
2143-
#define CGEMM_DEFAULT_UNROLL_M 4
2143+
#define CGEMM_DEFAULT_UNROLL_M 2
21442144
#define ZGEMM_DEFAULT_UNROLL_M 2
21452145
#define XGEMM_DEFAULT_UNROLL_M 1
21462146
#endif

0 commit comments

Comments
 (0)