diff --git a/tests/test-llama-archs.cpp b/tests/test-llama-archs.cpp index ece05ecc3e..d03ba2d6ad 100644 --- a/tests/test-llama-archs.cpp +++ b/tests/test-llama-archs.cpp @@ -435,6 +435,13 @@ static int test_backends(const llm_arch target_arch, const size_t seed, const gg continue; // TODO tensor shapes } + // FIXME some models are segfaulting with WebGPU: +#ifdef GGML_USE_WEBGPU + if (arch == LLM_ARCH_QWEN3NEXT || arch == LLM_ARCH_QWEN35 || arch == LLM_ARCH_QWEN35MOE || arch == LLM_ARCH_KIMI_LINEAR) { + continue; + } +#endif // GGML_USE_WEBGPU + const bool encode = arch == LLM_ARCH_T5; for (bool moe : {false, true}) { if (moe && !moe_implemented(arch)) { @@ -454,7 +461,7 @@ static int test_backends(const llm_arch target_arch, const size_t seed, const gg auto model_and_ctx_dev = get_model_and_ctx(gguf_ctx.get(), seed, {dev}); const std::vector logits_dev = get_logits(model_and_ctx_dev.first.get(), model_and_ctx_dev.second.get(), tokens, encode); const double nmse_val = nmse(logits_cpu, logits_dev); - const bool ok = nmse_val <= 1e-5; + const bool ok = nmse_val <= 1e-4; all_ok = all_ok && ok; char nmse_str[10]; snprintf(nmse_str, sizeof(nmse_str), "%.2e", nmse_val); diff --git a/tools/results/results.cpp b/tools/results/results.cpp index ca69bf305e..e5c5df128e 100644 --- a/tools/results/results.cpp +++ b/tools/results/results.cpp @@ -130,7 +130,7 @@ int main(int argc, char ** argv) { const double nmse_val = nmse(logits_disk, logits_calc); LOG_INF("%s: NMSE=%.3e\n", __func__, nmse_val); - if (nmse_val > 1e-5) { + if (nmse_val > 1e-6) { printf("\033[1;31mFAIL\033[0m\n"); return 1; }