MCPcopy Create free account
hub / github.com/antirez/llama.cpp-deepseek-v4-flash / test_backend

Function test_backend

tests/test-backend-ops.cpp:9074–9186  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9072}
9073
9074static bool test_backend(ggml_backend_t backend, test_mode mode, const char * op_names_filter, const char * params_filter,
9075 printer * output_printer, const char * test_file_path) {
9076 auto filter_test_cases = [](std::vector<std::unique_ptr<test_case>> & test_cases, const char * params_filter) {
9077 if (params_filter == nullptr) {
9078 return;
9079 }
9080
9081 std::regex params_filter_regex(params_filter);
9082
9083 for (auto it = test_cases.begin(); it != test_cases.end();) {
9084 if (!std::regex_search((*it)->vars(), params_filter_regex)) {
9085 it = test_cases.erase(it);
9086 continue;
9087 }
9088
9089 it++;
9090 }
9091 };
9092
9093 std::vector<std::unique_ptr<test_case>> test_cases;
9094
9095 if (test_file_path == nullptr) {
9096 switch (mode) {
9097 case MODE_TEST:
9098 case MODE_GRAD:
9099 case MODE_SUPPORT:
9100 test_cases = make_test_cases_eval();
9101 break;
9102 case MODE_PERF:
9103 test_cases = make_test_cases_perf();
9104 break;
9105 }
9106 } else {
9107 test_cases = make_test_cases_from_file(test_file_path);
9108 }
9109
9110 filter_test_cases(test_cases, params_filter);
9111
9112 if (mode == MODE_TEST) {
9113 ggml_backend_t backend_cpu = ggml_backend_init_by_type(GGML_BACKEND_DEVICE_TYPE_CPU, NULL);
9114 if (backend_cpu == NULL) {
9115 test_operation_info info("", "", "CPU");
9116 info.set_error("backend", "Failed to initialize CPU backend");
9117 output_printer->print_operation(info);
9118 return false;
9119 }
9120 // Use reference implementation on the CPU backend for comparison
9121 using ggml_backend_cpu_set_use_ref_t = void (*)(ggml_backend_t, bool);
9122 auto * reg = ggml_backend_dev_backend_reg(ggml_backend_get_device(backend_cpu));
9123 auto * set_use_ref = (ggml_backend_cpu_set_use_ref_t) ggml_backend_reg_get_proc_address(reg, "ggml_backend_cpu_set_use_ref");
9124 if (set_use_ref) {
9125 set_use_ref(backend_cpu, true);
9126 }
9127
9128 size_t n_ok = 0;
9129 size_t tests_run = 0;
9130 std::vector<std::string> failed_tests;
9131 for (auto & test : test_cases) {

Callers 1

mainFunction · 0.70

Calls 15

make_test_cases_evalFunction · 0.85
make_test_cases_perfFunction · 0.85
ggml_backend_get_deviceFunction · 0.85
test_summary_infoClass · 0.85
ggml_backend_freeFunction · 0.85
endMethod · 0.80
set_errorMethod · 0.80
evalMethod · 0.80

Tested by

no test coverage detected