🛠️[v0.3.44] Release Note: Improved Windows DLL(OpenMP) Loading Reliability for GGML Backends #157
JamePeng
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Release Note: 0.3.44
Improved Windows DLL(OpenMP) Loading Reliability for GGML Backends
This release is a small but important maintenance update focused on improving Windows dynamic library loading reliability.
The change comes from feedback and debugging reports from the ComfyUI community. During integration with ComfyUI and some third-party plugins, I found that external applications may modify the process DLL search behavior before
llama-cpp-pythonis initialized.Although
llama-cpp-pythonalready prioritizes the packaged library directory:in its dynamic loading logic, the Windows DLL loader behavior can still be affected by the surrounding application environment. In some cases, paths such as:
may be searched earlier than expected.
If an incompatible
libomp140.x86_64.dllalready exists in the system directory (for example, a version built against a different Visual Studio runtime such as a non-VC143 build), Windows may load that DLL instead of the bundled runtime shipped withllama-cpp-python.This can cause downstream dependency failures when loading CPU backend libraries:
and eventually result in
ggmlloading failures.Fix: Preload Bundled OpenMP Runtime on Windows
To make the loading behavior more deterministic, I added an explicit preload step for:
before loading:
The bundled OpenMP runtime is now loaded first on Windows for:
llama-cpp-python >= 0.3.39This ensures that CPU backend libraries resolve against the runtime shipped with the package instead of an incompatible system-wide DLL.
Users no longer need to:
llama.cpp Synchronization
Updated llama.cpp to:
ggml-org/llama.cpp846e991ec3c7ccec49112ff2c5b00b710e5f551dThanks to the ComfyUI community for the detailed feedback and testing that helped identify this Windows DLL loading edge case.
I will continue improving cross-platform compatibility and making the dynamic backend loading process more predictable across different application environments.
JamePeng
Beta Was this translation helpful? Give feedback.
All reactions