@@ -222,8 +222,7 @@ void string_to_spv_func(const std::string& _name, const std::string& in_fname, c
222222 std::string target_env = (name.find (" _cm2" ) != std::string::npos) ? " --target-env=vulkan1.3" : " --target-env=vulkan1.2" ;
223223
224224 // disable spirv-opt for coopmat shaders for https://github.com/ggerganov/llama.cpp/issues/10734
225- // XXX do not submit - temporarily disabled for bfloat
226- std::string opt_level = " " ;// coopmat ? "" : "-O";
225+ std::string opt_level = coopmat ? " " : " -O" ;
227226
228227 #ifdef _WIN32
229228 std::vector<std::string> cmd = {GLSLC, " -fshader-stage=compute" , target_env, opt_level, " \" " + in_path + " \" " , " -o" , " \" " + out_fname + " \" " };
@@ -354,8 +353,8 @@ void matmul_shaders(bool fp16, bool matmul_id, bool coopmat, bool coopmat2, bool
354353 if (!(coopmat || coopmat2))
355354#endif
356355 {
357- string_to_spv (shader_name + " _bf16_aligned" , source_name, merge_maps (base_dict, {{" FLOAT_TYPE" , FLOAT_TYPE (" bf16" )}, {" TO_FLOAT_TYPE" , to_float_type}, {" DATA_A_BF16" , " 1" }, {" LOAD_VEC_A" , load_vec_a}, {" LOAD_VEC_B" , " 4" }, {" B_TYPE" , coopmat2 ? " uint16_t " : " u16vec4" }, {" D_TYPE" , " float" }, {" B_IS_FLOAT" , " 1" }, {" ALIGNED" , " 1" }}), fp16, coopmat, coopmat2, f16acc);
358- string_to_spv (shader_name + " _bf16" , source_name, merge_maps (base_dict, {{" FLOAT_TYPE" , FLOAT_TYPE (" bf16" )}, {" TO_FLOAT_TYPE" , to_float_type}, {" DATA_A_BF16" , " 1" }, {" LOAD_VEC_A" , load_vec_a_unaligned}, {" B_TYPE" , " uint16_t" }, {" D_TYPE" , " float" }, {" B_IS_FLOAT" , " 1" }}), fp16, coopmat, coopmat2, f16acc);
356+ string_to_spv (shader_name + " _bf16_aligned" , source_name, merge_maps (base_dict, {{" FLOAT_TYPE" , FLOAT_TYPE (" bf16" )}, {" TO_FLOAT_TYPE" , to_float_type}, {" DATA_A_BF16" , " 1" }, {" LOAD_VEC_A" , load_vec_a}, {" LOAD_VEC_B" , " 4" }, {" B_TYPE" , coopmat2 ? " bfloat16_t " : " u16vec4" }, {" D_TYPE" , " float" }, {" B_IS_FLOAT" , " 1" }, {" ALIGNED" , " 1" }}), fp16, coopmat, coopmat2, f16acc);
357+ string_to_spv (shader_name + " _bf16" , source_name, merge_maps (base_dict, {{" FLOAT_TYPE" , FLOAT_TYPE (" bf16" )}, {" TO_FLOAT_TYPE" , to_float_type}, {" DATA_A_BF16" , " 1" }, {" LOAD_VEC_A" , load_vec_a_unaligned}, {" B_TYPE" , coopmat2 ? " bfloat16_t " : " uint16_t" }, {" D_TYPE" , " float" }, {" B_IS_FLOAT" , " 1" }}), fp16, coopmat, coopmat2, f16acc);
359358 }
360359 }
361360
0 commit comments