-
Notifications
You must be signed in to change notification settings - Fork 12k
threading: support for GGML_SCHED_PRIO_LOW, update thread info on Windows to avoid throttling #12995
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
bced6ad
to
b4458d4
Compare
a157d1b
to
854252f
Compare
9d4b917
to
f155d23
Compare
The CI failure here is a bit weird.. it is actually using mingw rather than MSVC, and the problem seems to be that this version of mingw does not support this API at all. We should just remove the msvc-arm64 build from the CI, along with the |
…dows to avoid throttling We talked about adding LOW priority for GGML threads in the original threadpool PR. It might be useful for some cases to avoid contention. Latest Windows ARM64 releases started parking (offlining) the CPU cores more aggresively which results in suboptimal performance with n_threads > 4. To deal with that we now disable Power Throttling for our threads for the NORMAL and higher priorities. Co-authored-by: Diego Devesa <slarengh@gmail.com>
f155d23
to
9087dd2
Compare
Looks like CI is good now after you guys nuked msvc builds. |
Co-authored-by: Diego Devesa <slarengh@gmail.com>
I'm getting compiling error after this PR. Windows 10, i7 8700, MinGW (w64devkit):
Is there a check missing? UPD: yes, it's missing a simple check, like:
|
If i am not wrong, this is set at compile time, which means that this will break windows 7 compatibility. Could it be changed to a runtime check instead? Edit: Quick search says that Also, why not use |
We talked about adding LOW priority for GGML threads in the original threadpool PR. It might be useful for some cases to avoid contention.
Latest Windows ARM64 releases started parking (offlining) the CPU cores more aggresively which results in suboptimal performance with n_threads > 4. To deal with that we now disable Power Throttling for our threads for the NORMAL and higher priorities.
Make sure to read the contributing guidelines before submitting a PR