@@ -27,16 +27,16 @@ if (OpenCL_FOUND)
27
27
if (GGML_OPENCL_EMBED_KERNELS)
28
28
add_compile_definitions (GGML_OPENCL_EMBED_KERNELS)
29
29
30
- set (OPENCL2_CL_SOURCE_EMBED "${CMAKE_BINARY_DIR} /autogenerated/ggml-opencl2 .cl.h" )
31
- set (OPENCL2_MM_CL_SOURCE_EMBED "${CMAKE_BINARY_DIR} /autogenerated/ggml-opencl2_mm .cl.h" )
32
- set (OPENCL2_CVT_CL_SOURCE_EMBED "${CMAKE_BINARY_DIR} /autogenerated/ggml-opencl2_cvt .cl.h" )
30
+ set (OPENCL_CL_SOURCE_EMBED "${CMAKE_BINARY_DIR} /autogenerated/ggml-opencl .cl.h" )
31
+ set (OPENCL_MM_CL_SOURCE_EMBED "${CMAKE_BINARY_DIR} /autogenerated/ggml-opencl_mm .cl.h" )
32
+ set (OPENCL_CVT_CL_SOURCE_EMBED "${CMAKE_BINARY_DIR} /autogenerated/ggml-opencl_cvt .cl.h" )
33
33
34
- set (OPENCL2_GEMV_NOSHUFFLE_SOURCE_EMBED "${CMAKE_BINARY_DIR} /autogenerated/ggml-opencl2_gemv_noshuffle .cl.h" )
35
- set (OPENCL2_GEMV_NOSHUFFLE_GENERAL_SOURCE_EMBED "${CMAKE_BINARY_DIR} /autogenerated/ggml-opencl2_gemv_noshuffle_general .cl.h" )
36
- set (OPENCL2_MUL_MAT_Ab_Bi_8x4_SOURCE_EMBED "${CMAKE_BINARY_DIR} /autogenerated/ggml-opencl2_mul_mat_Ab_Bi_8x4 .cl.h" )
37
- set (OPENCL2_TRANSPOSE_16_SOURCE_EMBED "${CMAKE_BINARY_DIR} /autogenerated/ggml-opencl2_transpose_16 .cl.h" )
38
- set (OPENCL2_TRANSPOSE_32_SOURCE_EMBED "${CMAKE_BINARY_DIR} /autogenerated/ggml-opencl2_transpose_32 .cl.h" )
39
- set (OPENCL2_TRANSPOSE_32_16_SOURCE_EMBED "${CMAKE_BINARY_DIR} /autogenerated/ggml-opencl2_transpose_32_16 .cl.h" )
34
+ set (OPENCL_GEMV_NOSHUFFLE_SOURCE_EMBED "${CMAKE_BINARY_DIR} /autogenerated/ggml-opencl_gemv_noshuffle .cl.h" )
35
+ set (OPENCL_GEMV_NOSHUFFLE_GENERAL_SOURCE_EMBED "${CMAKE_BINARY_DIR} /autogenerated/ggml-opencl_gemv_noshuffle_general .cl.h" )
36
+ set (OPENCL_MUL_MAT_Ab_Bi_8x4_SOURCE_EMBED "${CMAKE_BINARY_DIR} /autogenerated/ggml-opencl_mul_mat_Ab_Bi_8x4 .cl.h" )
37
+ set (OPENCL_TRANSPOSE_16_SOURCE_EMBED "${CMAKE_BINARY_DIR} /autogenerated/ggml-opencl_transpose_16 .cl.h" )
38
+ set (OPENCL_TRANSPOSE_32_SOURCE_EMBED "${CMAKE_BINARY_DIR} /autogenerated/ggml-opencl_transpose_32 .cl.h" )
39
+ set (OPENCL_TRANSPOSE_32_16_SOURCE_EMBED "${CMAKE_BINARY_DIR} /autogenerated/ggml-opencl_transpose_32_16 .cl.h" )
40
40
41
41
set (EMBED_KERNEL_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR} /kernels/embed_kernel.py" )
42
42
file (MAKE_DIRECTORY "${CMAKE_BINARY_DIR} /autogenerated" )
@@ -45,101 +45,108 @@ if (OpenCL_FOUND)
45
45
46
46
# Python must be accessible from command line
47
47
add_custom_command (
48
- OUTPUT ${OPENCL2_CL_SOURCE_EMBED }
48
+ OUTPUT ${OPENCL_CL_SOURCE_EMBED }
49
49
COMMAND ${Python3_EXECUTABLE} ${EMBED_KERNEL_SCRIPT}
50
- ${CMAKE_CURRENT_SOURCE_DIR} /kernels/ggml-opencl2 .cl
51
- ${OPENCL2_CL_SOURCE_EMBED }
52
- DEPENDS kernels/ggml-opencl2 .cl ${EMBED_KERNEL_SCRIPT}
50
+ ${CMAKE_CURRENT_SOURCE_DIR} /kernels/ggml-opencl .cl
51
+ ${OPENCL_CL_SOURCE_EMBED }
52
+ DEPENDS kernels/ggml-opencl .cl ${EMBED_KERNEL_SCRIPT}
53
53
COMMENT "Generate ggml-opencl2.cl.h"
54
54
)
55
55
56
56
add_custom_command (
57
- OUTPUT ${OPENCL2_MM_CL_SOURCE_EMBED }
57
+ OUTPUT ${OPENCL_MM_CL_SOURCE_EMBED }
58
58
COMMAND ${Python3_EXECUTABLE} ${EMBED_KERNEL_SCRIPT}
59
- ${CMAKE_CURRENT_SOURCE_DIR} /kernels/ggml-opencl2_mm .cl
60
- ${OPENCL2_MM_CL_SOURCE_EMBED }
61
- DEPENDS kernels/ggml-opencl2_mm .cl ${EMBED_KERNEL_SCRIPT}
62
- COMMENT "Generate ggml-opencl2_mm .cl.h"
59
+ ${CMAKE_CURRENT_SOURCE_DIR} /kernels/ggml-opencl_mm .cl
60
+ ${OPENCL_MM_CL_SOURCE_EMBED }
61
+ DEPENDS kernels/ggml-opencl_mm .cl ${EMBED_KERNEL_SCRIPT}
62
+ COMMENT "Generate ggml-opencl_mm .cl.h"
63
63
)
64
64
65
65
add_custom_command (
66
- OUTPUT ${OPENCL2_CVT_CL_SOURCE_EMBED }
66
+ OUTPUT ${OPENCL_CVT_CL_SOURCE_EMBED }
67
67
COMMAND ${Python3_EXECUTABLE} ${EMBED_KERNEL_SCRIPT}
68
- ${CMAKE_CURRENT_SOURCE_DIR} /kernels/ggml-opencl2_cvt .cl
69
- ${OPENCL2_CVT_CL_SOURCE_EMBED }
70
- DEPENDS kernels/ggml-opencl2_cvt .cl ${EMBED_KERNEL_SCRIPT}
71
- COMMENT "Generate ggml-opencl2_cvt .cl.h"
68
+ ${CMAKE_CURRENT_SOURCE_DIR} /kernels/ggml-opencl_cvt .cl
69
+ ${OPENCL_CVT_CL_SOURCE_EMBED }
70
+ DEPENDS kernels/ggml-opencl_cvt .cl ${EMBED_KERNEL_SCRIPT}
71
+ COMMENT "Generate ggml-opencl_cvt .cl.h"
72
72
)
73
73
74
74
add_custom_command (
75
- OUTPUT ${OPENCL2_GEMV_NOSHUFFLE_SOURCE_EMBED }
75
+ OUTPUT ${OPENCL_GEMV_NOSHUFFLE_SOURCE_EMBED }
76
76
COMMAND ${Python3_EXECUTABLE} ${EMBED_KERNEL_SCRIPT}
77
- ${CMAKE_CURRENT_SOURCE_DIR} /kernels/ggml-opencl2_gemv_noshuffle .cl
78
- ${OPENCL2_GEMV_NOSHUFFLE_SOURCE_EMBED }
79
- DEPENDS kernels/ggml-opencl2_gemv_noshuffle .cl ${EMBED_KERNEL_SCRIPT}
80
- COMMENT "Generate ggml-opencl2_gemv_noshuffle .cl.h"
77
+ ${CMAKE_CURRENT_SOURCE_DIR} /kernels/ggml-opencl_gemv_noshuffle .cl
78
+ ${OPENCL_GEMV_NOSHUFFLE_SOURCE_EMBED }
79
+ DEPENDS kernels/ggml-opencl_gemv_noshuffle .cl ${EMBED_KERNEL_SCRIPT}
80
+ COMMENT "Generate ggml-opencl_gemv_noshuffle .cl.h"
81
81
)
82
82
83
83
add_custom_command (
84
- OUTPUT ${OPENCL2_GEMV_NOSHUFFLE_GENERAL_SOURCE_EMBED }
84
+ OUTPUT ${OPENCL_GEMV_NOSHUFFLE_GENERAL_SOURCE_EMBED }
85
85
COMMAND ${Python3_EXECUTABLE} ${EMBED_KERNEL_SCRIPT}
86
- ${CMAKE_CURRENT_SOURCE_DIR} /kernels/ggml-opencl2_gemv_noshuffle_general .cl
87
- ${OPENCL2_GEMV_NOSHUFFLE_GENERAL_SOURCE_EMBED }
88
- DEPENDS kernels/ggml-opencl2_gemv_noshuffle_general .cl ${EMBED_KERNEL_SCRIPT}
89
- COMMENT "Generate ggml-opencl2_gemv_noshuffle_general .cl.h"
86
+ ${CMAKE_CURRENT_SOURCE_DIR} /kernels/ggml-opencl_gemv_noshuffle_general .cl
87
+ ${OPENCL_GEMV_NOSHUFFLE_GENERAL_SOURCE_EMBED }
88
+ DEPENDS kernels/ggml-opencl_gemv_noshuffle_general .cl ${EMBED_KERNEL_SCRIPT}
89
+ COMMENT "Generate ggml-opencl_gemv_noshuffle_general .cl.h"
90
90
)
91
91
92
92
add_custom_command (
93
- OUTPUT ${OPENCL2_MUL_MAT_Ab_Bi_8x4_SOURCE_EMBED }
93
+ OUTPUT ${OPENCL_MUL_MAT_Ab_Bi_8x4_SOURCE_EMBED }
94
94
COMMAND ${Python3_EXECUTABLE} ${EMBED_KERNEL_SCRIPT}
95
- ${CMAKE_CURRENT_SOURCE_DIR} /kernels/ggml-opencl2_mul_mat_Ab_Bi_8x4 .cl
96
- ${OPENCL2_MUL_MAT_Ab_Bi_8x4_SOURCE_EMBED }
97
- DEPENDS kernels/ggml-opencl2_mul_mat_Ab_Bi_8x4 .cl ${EMBED_KERNEL_SCRIPT}
98
- COMMENT "Generate ggml-opencl2_mul_mat_Ab_Bi_8x4 .cl.cl.h"
95
+ ${CMAKE_CURRENT_SOURCE_DIR} /kernels/ggml-opencl_mul_mat_Ab_Bi_8x4 .cl
96
+ ${OPENCL_MUL_MAT_Ab_Bi_8x4_SOURCE_EMBED }
97
+ DEPENDS kernels/ggml-opencl_mul_mat_Ab_Bi_8x4 .cl ${EMBED_KERNEL_SCRIPT}
98
+ COMMENT "Generate ggml-opencl_mul_mat_Ab_Bi_8x4 .cl.cl.h"
99
99
)
100
100
101
101
add_custom_command (
102
- OUTPUT ${OPENCL2_TRANSPOSE_16_SOURCE_EMBED }
102
+ OUTPUT ${OPENCL_TRANSPOSE_16_SOURCE_EMBED }
103
103
COMMAND ${Python3_EXECUTABLE} ${EMBED_KERNEL_SCRIPT}
104
- ${CMAKE_CURRENT_SOURCE_DIR} /kernels/ggml-opencl2_transpose_16 .cl
105
- ${OPENCL2_TRANSPOSE_16_SOURCE_EMBED }
106
- DEPENDS kernels/ggml-opencl2_transpose_16 .cl ${EMBED_KERNEL_SCRIPT}
107
- COMMENT "Generate ggml-opencl2_transpose_16 .cl.h"
104
+ ${CMAKE_CURRENT_SOURCE_DIR} /kernels/ggml-opencl_transpose_16 .cl
105
+ ${OPENCL_TRANSPOSE_16_SOURCE_EMBED }
106
+ DEPENDS kernels/ggml-opencl_transpose_16 .cl ${EMBED_KERNEL_SCRIPT}
107
+ COMMENT "Generate ggml-opencl_transpose_16 .cl.h"
108
108
)
109
109
110
110
add_custom_command (
111
- OUTPUT ${OPENCL2_TRANSPOSE_32_SOURCE_EMBED }
111
+ OUTPUT ${OPENCL_TRANSPOSE_32_SOURCE_EMBED }
112
112
COMMAND ${Python3_EXECUTABLE} ${EMBED_KERNEL_SCRIPT}
113
- ${CMAKE_CURRENT_SOURCE_DIR} /kernels/ggml-opencl2_transpose_32 .cl
114
- ${OPENCL2_TRANSPOSE_32_SOURCE_EMBED }
115
- DEPENDS kernels/ggml-opencl2_transpose_32 .cl ${EMBED_KERNEL_SCRIPT}
116
- COMMENT "Generate ggml-opencl2_transpose_32 .cl.h"
113
+ ${CMAKE_CURRENT_SOURCE_DIR} /kernels/ggml-opencl_transpose_32 .cl
114
+ ${OPENCL_TRANSPOSE_32_SOURCE_EMBED }
115
+ DEPENDS kernels/ggml-opencl_transpose_32 .cl ${EMBED_KERNEL_SCRIPT}
116
+ COMMENT "Generate ggml-opencl_transpose_32 .cl.h"
117
117
)
118
118
119
119
add_custom_command (
120
- OUTPUT ${OPENCL2_TRANSPOSE_32_16_SOURCE_EMBED }
120
+ OUTPUT ${OPENCL_TRANSPOSE_32_16_SOURCE_EMBED }
121
121
COMMAND ${Python3_EXECUTABLE} ${EMBED_KERNEL_SCRIPT}
122
- ${CMAKE_CURRENT_SOURCE_DIR} /kernels/ggml-opencl2_transpose_32_16 .cl
123
- ${OPENCL2_TRANSPOSE_32_16_SOURCE_EMBED }
124
- DEPENDS kernels/ggml-opencl2_transpose_32_16 .cl ${EMBED_KERNEL_SCRIPT}
125
- COMMENT "Generate ggml-opencl2_transpose_32_16 .cl.h"
122
+ ${CMAKE_CURRENT_SOURCE_DIR} /kernels/ggml-opencl_transpose_32_16 .cl
123
+ ${OPENCL_TRANSPOSE_32_16_SOURCE_EMBED }
124
+ DEPENDS kernels/ggml-opencl_transpose_32_16 .cl ${EMBED_KERNEL_SCRIPT}
125
+ COMMENT "Generate ggml-opencl_transpose_32_16 .cl.h"
126
126
)
127
127
128
128
target_sources (${TARGET_NAME} PRIVATE
129
- ${OPENCL2_CL_SOURCE_EMBED }
130
- ${OPENCL2_MM_CL_SOURCE_EMBED }
131
- ${OPENCL2_CVT_CL_SOURCE_EMBED }
132
- ${OPENCL2_GEMV_NOSHUFFLE_SOURCE_EMBED }
133
- ${OPENCL2_GEMV_NOSHUFFLE_GENERAL_SOURCE_EMBED }
134
- ${OPENCL2_MUL_MAT_Ab_Bi_8x4_SOURCE_EMBED }
135
- ${OPENCL2_TRANSPOSE_16_SOURCE_EMBED }
136
- ${OPENCL2_TRANSPOSE_32_SOURCE_EMBED }
137
- ${OPENCL2_TRANSPOSE_32_16_SOURCE_EMBED } )
129
+ ${OPENCL_CL_SOURCE_EMBED }
130
+ ${OPENCL_MM_CL_SOURCE_EMBED }
131
+ ${OPENCL_CVT_CL_SOURCE_EMBED }
132
+ ${OPENCL_GEMV_NOSHUFFLE_SOURCE_EMBED }
133
+ ${OPENCL_GEMV_NOSHUFFLE_GENERAL_SOURCE_EMBED }
134
+ ${OPENCL_MUL_MAT_Ab_Bi_8x4_SOURCE_EMBED }
135
+ ${OPENCL_TRANSPOSE_16_SOURCE_EMBED }
136
+ ${OPENCL_TRANSPOSE_32_SOURCE_EMBED }
137
+ ${OPENCL_TRANSPOSE_32_16_SOURCE_EMBED } )
138
138
else ()
139
139
# copy ggml-opencl.cl to bin directory
140
- configure_file (kernels/ggml-opencl2.cl ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /ggml-opencl2.cl COPYONLY )
141
- configure_file (kernels/ggml-opencl2_mm.cl ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /ggml-opencl2_mm.cl COPYONLY )
142
- configure_file (kernels/ggml-opencl2_cvt.cl ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /ggml-opencl2_cvt.cl COPYONLY )
140
+ configure_file (kernels/ggml-opencl.cl ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /ggml-opencl.cl COPYONLY )
141
+ configure_file (kernels/ggml-opencl_mm.cl ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /ggml-opencl_mm.cl COPYONLY )
142
+ configure_file (kernels/ggml-opencl_cvt.cl ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /ggml-opencl_cvt.cl COPYONLY )
143
+
144
+ configure_file (kernels/ggml-opencl_gemv_noshuffle.cl ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /ggml-opencl_gemv_noshuffle.cl COPYONLY )
145
+ configure_file (kernels/ggml-opencl_gemv_noshuffle_general.cl ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /ggml-opencl_gemv_noshuffle_general.cl COPYONLY )
146
+ configure_file (kernels/ggml-opencl_mul_mat_Ab_Bi_8x4.cl ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /ggml-opencl_mul_mat_Ab_Bi_8x4.cl COPYONLY )
147
+ configure_file (kernels/ggml-opencl_transpose_16.cl ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /ggml-opencl_transpose_16.cl COPYONLY )
148
+ configure_file (kernels/ggml-opencl_transpose_32.cl ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /ggml-opencl_transpose_32.cl COPYONLY )
149
+ configure_file (kernels/ggml-opencl_transpose_32_16.cl ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} /ggml-opencl_transpose_32_16.cl COPYONLY )
143
150
endif ()
144
151
else ()
145
152
message (WARNING "OpenCL not found" )
0 commit comments