Skip to content

Commit 0403ce6

Browse files
committed
opencl: allow loading gemm_moe_mxfp4_f32_ns from kernel lib
1 parent b8ef15c commit 0403ce6

1 file changed

Lines changed: 10 additions & 3 deletions

File tree

ggml/src/ggml-opencl/ggml-opencl.cpp

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2950,14 +2950,21 @@ static void load_cl_kernels(ggml_backend_opencl_context *backend_ctx, ggml_cl_ve
29502950
// gemm_moe_mxfp4_f32_ns
29512951
{
29522952
#ifdef GGML_OPENCL_EMBED_KERNELS
2953-
const std::string kernel_src {
2953+
std::string kernel_src {
29542954
#include "gemm_moe_mxfp4_f32_ns.cl.h"
29552955
};
29562956
#else
2957-
const std::string kernel_src = read_file("gemm_moe_mxfp4_f32_ns.cl");
2957+
std::string kernel_src = read_file("gemm_moe_mxfp4_f32_ns.cl");
29582958
#endif
2959+
size_t bin_size = 0;
2960+
if (use_adreno_bin_kernels(backend_ctx)) {
2961+
const char * kernel_bin = (const char *) backend_ctx->get_adreno_bin_kernel("gemm_moe_mxfp4_f32_ns_ila", &bin_size);
2962+
if (kernel_bin) {
2963+
kernel_src.assign(kernel_bin, kernel_bin + bin_size);
2964+
}
2965+
}
29592966
cl_program prog =
2960-
build_program_from_source(backend_ctx->context, backend_ctx->device, kernel_src.c_str(), CL_moe_compile_opts);
2967+
build_program_from_source(backend_ctx->context, backend_ctx->device, kernel_src.c_str(), CL_moe_compile_opts, bin_size);
29612968

29622969
CL_CHECK((backend_ctx->kernel_gemm_moe_mxfp4_f32_ns = clCreateKernel(prog, "kernel_gemm_moe_mxfp4_f32_ns", &err), err));
29632970
CL_CHECK(clReleaseProgram(prog));

0 commit comments

Comments
 (0)