-
Notifications
You must be signed in to change notification settings - Fork 267
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
Added support for Windows thread groups (to use all cores on a 3990X and similar) #188
base: master
Are you sure you want to change the base?
Conversation
This is great, thank you. I'll merge this PR in next. |
I'll merge this |
Just a FYI - v1.15 is out - so I have time to merge this. |
2c130b2
to
11d076e
Compare
(Rebased onto latest since this was quite out of date) |
Thanks- I'll be merging this change into the next milestone's OpenCL release, due end of Dec/early Jan. |
NP - I was bringing it up-to-date (partially) for my own testing. (I can make Threadripper available over VPN/RDP for you to test, BTW) |
Just a FYI I'm merging this change into v1.16 (the January 2022 release). |
On Windows with more than 64 cores (and possibly with multiple CPUs with fewer cores, although not tested) only the first 64 is supported by the
job_pool
. This addition spreads the threads across all CPUs. A picture speaks more, so here's the before, compiling as-is:And here's after with this PR:
When compressing to UASTC using:
This reduces the best time (from four runs) from 2.823 seconds to 1.766 seconds.
(If I were to make any changes, I'd spend more time making sure the main thread is in the smaller group, but I thought I'd publish this earlier to gather any interest.)