MCPcopy Create free account
hub / github.com/Tiiny-AI/PowerInfer / generate_kernels

Function generate_kernels

ggml-opencl.cpp:861–884  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

859}
860
861static std::string generate_kernels() {
862 std::stringstream src;
863 src << program_source << '\n';
864 src << k_quants_source << '\n';
865 for (size_t i = 0; i < dequant_str_values.size(); i += dequant_str_keys.size()) {
866 std::string dequant_kernel = dequant_template;
867 std::string dmmv_kernel = dequant_mul_mat_vec_template;
868 for (size_t j = 0; j < dequant_str_keys.size(); j++) {
869 replace(dequant_kernel, dequant_str_keys[j], dequant_str_values[i + j]);
870 replace(dmmv_kernel, dequant_str_keys[j], dequant_mul_mat_vec_str_values[i + j]);
871 }
872 src << dequant_kernel << '\n';
873 src << dmmv_kernel << '\n';
874 }
875 for (size_t i = 0; i < mul_str_values.size(); i += mul_str_keys.size()) {
876 std::string mul_kernel = mul_template;
877 for (size_t j = 0; j < mul_str_keys.size(); j++) {
878 replace(mul_kernel, mul_str_keys[j], mul_str_values[i + j]);
879 }
880 src << mul_kernel << '\n';
881 }
882
883 return src.str();
884}
885
886static cl_platform_id platform;
887static cl_device_id device;

Callers 1

ggml_cl_initFunction · 0.85

Calls 2

sizeMethod · 0.45
strMethod · 0.45

Tested by

no test coverage detected