From ac23d259baa495ab6df32c2e98301a79ada8725a Mon Sep 17 00:00:00 2001 From: Hans Date: Sat, 11 May 2024 02:58:47 +0800 Subject: [PATCH] fix: disable session save/load for vulkan --- src/LlamaContext.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/LlamaContext.cpp b/src/LlamaContext.cpp index ede5f75..d6e30f0 100644 --- a/src/LlamaContext.cpp +++ b/src/LlamaContext.cpp @@ -168,6 +168,12 @@ Napi::Value LlamaContext::SaveSession(const Napi::CallbackInfo &info) { Napi::TypeError::New(env, "Context is disposed") .ThrowAsJavaScriptException(); } +#ifdef GGML_USE_VULKAN + if (_sess->params().n_gpu_layers > 0) { + Napi::TypeError::New(env, "Vulkan cannot save session") + .ThrowAsJavaScriptException(); + } +#endif auto *worker = new SaveSessionWorker(info, _sess); worker->Queue(); return worker->Promise(); @@ -183,6 +189,12 @@ Napi::Value LlamaContext::LoadSession(const Napi::CallbackInfo &info) { Napi::TypeError::New(env, "Context is disposed") .ThrowAsJavaScriptException(); } +#ifdef GGML_USE_VULKAN + if (_sess->params().n_gpu_layers > 0) { + Napi::TypeError::New(env, "Vulkan cannot load session") + .ThrowAsJavaScriptException(); + } +#endif auto *worker = new LoadSessionWorker(info, _sess); worker->Queue(); return worker->Promise();