32 max threads on windows?

Moderators: Site Moderators, FAHC Science Team

mchaker
Posts: 7
Joined: Mon Jan 17, 2022 3:30 pm
Hardware configuration: System: NUC (VM)
CPU: Intel Core i7-1165G7
RAM: 64 GB host (8 GB VM)
GPU1: AMD Radeon RX 5500 XT (via Thunderbolt3)
GPU2: NVIDIA TITAN Xp (via Thunderbolt3)
-----
System: GPU-GARDEN
CPU: AMD EPYC 7402
RAM: 128 GB DDR4
GPU1: NVIDIA Tesla M40
GPU2: NVIDIA Tesla M40
GPU3: NVIDIA Tesla M40
GPU4: NVIDIA Tesla M40
GPU5: NVIDIA Tesla P40
GPU6: NVIDIA Tesla P40
GPU7: NVIDIA Tesla P100
GPU8: NVIDIA Tesla P100
GPU9: NVIDIA Tesla P100
GPU10: NVIDIA Tesla P100
GPU11: NVIDIA GeForce RTX 3070
GPU12: NVIDIA GeForce RTX 3070 Ti
Location: between outer and cyberspace
Contact:

32 max threads on windows?

Post by mchaker »

Hello FoldingForum,

I have a dual-socket system with two AMD EPYC 7543 CPUs in it.
32 cores per socket (64 threads per socket) = 128 threads total on the system.

Every time I try to set the thread count for a CPU slot in the FAHControl app over 32, FAHClient/FAHControl resets the thread count.
I can't seem to set the thread count of a slot to over 32 threads.

I searched the forum and found a discussion thread from months ago discussing CPU thread limits, but I don't think a solution was reached besides "use linux". :(

Is there any fix for Windows planned to allow a 128 thread folding slot?
Joe_H
Site Admin
Posts: 7856
Joined: Tue Apr 21, 2009 4:41 pm
Hardware configuration: Mac Pro 2.8 quad 12 GB smp4
MacBook Pro 2.9 i7 8 GB smp2
Location: W. MA

Re: 32 max threads on windows?

Post by Joe_H »

Same solution applies now, use Linux.

There are multiple issues with Windows and support for use of large numbers of threads. First a suitable license version of Windows needs to be used, otherwise you are limited. Your regular Home and Pro license levels do not cover that. Second the app components would need to be compiled with all of the necessary options selected for use of high thread counts across multiple CPU cores and sockets. Specifically in this case the CPU folding core FAHCore_A8.

I do not know of any work being done in this area to support a niche use. Enhancement requests may have been made in the past, but those eventually get assigned to the CPU folding core developement site which is not public. Th code the folding core is based on is public though.
Image

iMac 2.8 i7 12 GB smp8, Mac Pro 2.8 quad 12 GB smp6
MacBook Pro 2.9 i7 8 GB smp3
PaulTV
Posts: 179
Joined: Mon Jan 25, 2021 4:53 pm
Location: Netherlands

Re: 32 max threads on windows?

Post by PaulTV »

I'm not sure if folding jobs would utilize 128 cores very well, that may be too much. But others who know more about it may have a different opinion. To use all cores on Wintendo (a very good gaming platform), I'd create multiple CPU slots. 4 x 32 also makes 128 :)
Image

Ryzen 5800X / RTX 4090 / Windows 11
Ryzen 5600X / RTX 3070 Ti / Ubuntu 20.04
Ryzen 5600 / RTX 3060 Ti / Windows 11
Neil-B
Posts: 2027
Joined: Sun Mar 22, 2020 5:52 pm
Hardware configuration: 1: 2x Xeon E5-2697v3@2.60GHz, 512GB DDR4 LRDIMM, SSD Raid, Win10 Ent 20H2, Quadro K420 1GB, FAH 7.6.21
2: Xeon E3-1505Mv5@2.80GHz, 32GB DDR4, NVME, Win10 Pro 20H2, Quadro M1000M 2GB, FAH 7.6.21 (actually have two of these)
3: i7-960@3.20GHz, 12GB DDR3, SSD, Win10 Pro 20H2, GTX 750Ti 2GB, GTX 1080Ti 11GB, FAH 7.6.21
Location: UK

Re: 32 max threads on windows?

Post by Neil-B »

I have tested the fahcore_a8 and it readilly runs with 32+ cores/threads per slot, on a suitable project wu it delivered more wus per day as a single slot rather than multiple slots, and delivered each wu quicker ... the issue is not the fahcore or the windows os rather it appears a legacy issue with a limit set in the fahclient code ... I'll try again to see if there is any resolution on the horizon
2x Xeon E5-2697v3, 512GB DDR4 LRDIMM, SSD Raid, W10-Ent, Quadro K420
Xeon E3-1505Mv5, 32GB DDR4, NVME, W10-Pro, Quadro M1000M
i7-960, 12GB DDR3, SSD, W10-Pro, GTX1080Ti
i9-10850K, 64GB DDR4, NVME, W11-Pro, RTX3070

(Green/Bold = Active)
MeeLee
Posts: 1375
Joined: Tue Feb 19, 2019 10:16 pm

Re: 32 max threads on windows?

Post by MeeLee »

One possible solution to it, that may or may not work, is to use a VM to run a few instances of FAH.
That way you can run core 0 with 32 threads, and another instance using core 1.
This should double your core count.

The only Windows solution to this, is to buy Windows Enterprise, which can handle up to 128 threads, but costs you a monthly fee (unlike most other Windows versions which only cost you the purchase price at the beginning).
mchaker
Posts: 7
Joined: Mon Jan 17, 2022 3:30 pm
Hardware configuration: System: NUC (VM)
CPU: Intel Core i7-1165G7
RAM: 64 GB host (8 GB VM)
GPU1: AMD Radeon RX 5500 XT (via Thunderbolt3)
GPU2: NVIDIA TITAN Xp (via Thunderbolt3)
-----
System: GPU-GARDEN
CPU: AMD EPYC 7402
RAM: 128 GB DDR4
GPU1: NVIDIA Tesla M40
GPU2: NVIDIA Tesla M40
GPU3: NVIDIA Tesla M40
GPU4: NVIDIA Tesla M40
GPU5: NVIDIA Tesla P40
GPU6: NVIDIA Tesla P40
GPU7: NVIDIA Tesla P100
GPU8: NVIDIA Tesla P100
GPU9: NVIDIA Tesla P100
GPU10: NVIDIA Tesla P100
GPU11: NVIDIA GeForce RTX 3070
GPU12: NVIDIA GeForce RTX 3070 Ti
Location: between outer and cyberspace
Contact:

Re: 32 max threads on windows?

Post by mchaker »

Thank you all for the help - I do have Windows Enterprise on this machine, thankfully.
So far I have been using 4x 32-thread slots (to sum up to 128 threads) and that seems to be scheduled properly by WIndows across all threads/logical CPUs.

I am interested in how you got to 32+ threads per slot, Neil-B -- mind sharing how to set that up? (Is it just to use the beta fahcore_a8? How would I do that? Or are there other steps?)
Neil-B
Posts: 2027
Joined: Sun Mar 22, 2020 5:52 pm
Hardware configuration: 1: 2x Xeon E5-2697v3@2.60GHz, 512GB DDR4 LRDIMM, SSD Raid, Win10 Ent 20H2, Quadro K420 1GB, FAH 7.6.21
2: Xeon E3-1505Mv5@2.80GHz, 32GB DDR4, NVME, Win10 Pro 20H2, Quadro M1000M 2GB, FAH 7.6.21 (actually have two of these)
3: i7-960@3.20GHz, 12GB DDR3, SSD, Win10 Pro 20H2, GTX 750Ti 2GB, GTX 1080Ti 11GB, FAH 7.6.21
Location: UK

Re: 32 max threads on windows?

Post by Neil-B »

@mchaker ... response by pm
2x Xeon E5-2697v3, 512GB DDR4 LRDIMM, SSD Raid, W10-Ent, Quadro K420
Xeon E3-1505Mv5, 32GB DDR4, NVME, W10-Pro, Quadro M1000M
i7-960, 12GB DDR3, SSD, W10-Pro, GTX1080Ti
i9-10850K, 64GB DDR4, NVME, W11-Pro, RTX3070

(Green/Bold = Active)
Neil-B
Posts: 2027
Joined: Sun Mar 22, 2020 5:52 pm
Hardware configuration: 1: 2x Xeon E5-2697v3@2.60GHz, 512GB DDR4 LRDIMM, SSD Raid, Win10 Ent 20H2, Quadro K420 1GB, FAH 7.6.21
2: Xeon E3-1505Mv5@2.80GHz, 32GB DDR4, NVME, Win10 Pro 20H2, Quadro M1000M 2GB, FAH 7.6.21 (actually have two of these)
3: i7-960@3.20GHz, 12GB DDR3, SSD, Win10 Pro 20H2, GTX 750Ti 2GB, GTX 1080Ti 11GB, FAH 7.6.21
Location: UK

Re: 32 max threads on windows?

Post by Neil-B »

MeeLee wrote:The only Windows solution to this, is to buy Windows Enterprise, which can handle up to 128 threads, but costs you a monthly fee (unlike most other Windows versions which only cost you the purchase price at the beginning).
This is incorrect ... It is not, I repeat not a licensing issue ... it is the FAHClient/FAHControl code that cause this issue - Not Licensing, nor the FAHCore.
2x Xeon E5-2697v3, 512GB DDR4 LRDIMM, SSD Raid, W10-Ent, Quadro K420
Xeon E3-1505Mv5, 32GB DDR4, NVME, W10-Pro, Quadro M1000M
i7-960, 12GB DDR3, SSD, W10-Pro, GTX1080Ti
i9-10850K, 64GB DDR4, NVME, W11-Pro, RTX3070

(Green/Bold = Active)
calxalot
Site Moderator
Posts: 878
Joined: Sat Dec 08, 2007 1:33 am
Location: San Francisco, CA
Contact:

Re: 32 max threads on windows?

Post by calxalot »

I believe the limit is due to the Windows client being a 32-bit build.
Neil-B
Posts: 2027
Joined: Sun Mar 22, 2020 5:52 pm
Hardware configuration: 1: 2x Xeon E5-2697v3@2.60GHz, 512GB DDR4 LRDIMM, SSD Raid, Win10 Ent 20H2, Quadro K420 1GB, FAH 7.6.21
2: Xeon E3-1505Mv5@2.80GHz, 32GB DDR4, NVME, Win10 Pro 20H2, Quadro M1000M 2GB, FAH 7.6.21 (actually have two of these)
3: i7-960@3.20GHz, 12GB DDR3, SSD, Win10 Pro 20H2, GTX 750Ti 2GB, GTX 1080Ti 11GB, FAH 7.6.21
Location: UK

Re: 32 max threads on windows?

Post by Neil-B »

The windows client simply passes the settings to the fahcore - the fact that it is 32bit shouldn't stop it passing the correct settings to the fahcore which is 64bit and readilly folds on more than 32 threads ... it is most likely a legacy coding issue
2x Xeon E5-2697v3, 512GB DDR4 LRDIMM, SSD Raid, W10-Ent, Quadro K420
Xeon E3-1505Mv5, 32GB DDR4, NVME, W10-Pro, Quadro M1000M
i7-960, 12GB DDR3, SSD, W10-Pro, GTX1080Ti
i9-10850K, 64GB DDR4, NVME, W11-Pro, RTX3070

(Green/Bold = Active)
calxalot
Site Moderator
Posts: 878
Joined: Sat Dec 08, 2007 1:33 am
Location: San Francisco, CA
Contact:

Re: 32 max threads on windows?

Post by calxalot »

The code is in open source cbang SystemInfo.cpp

Code: Select all

  SYSTEM_INFO sysinfo;
  GetSystemInfo(&sysinfo);
  return sysinfo.dwNumberOfProcessors;
This will not indicate more than 32 cores in a 32-bit app.

https://codereview.webrtc.org/2978863002

In that link, you may see the patch uses GetNativeSystemInfo(), but I believe that requires Windows 10 or later.
mchaker
Posts: 7
Joined: Mon Jan 17, 2022 3:30 pm
Hardware configuration: System: NUC (VM)
CPU: Intel Core i7-1165G7
RAM: 64 GB host (8 GB VM)
GPU1: AMD Radeon RX 5500 XT (via Thunderbolt3)
GPU2: NVIDIA TITAN Xp (via Thunderbolt3)
-----
System: GPU-GARDEN
CPU: AMD EPYC 7402
RAM: 128 GB DDR4
GPU1: NVIDIA Tesla M40
GPU2: NVIDIA Tesla M40
GPU3: NVIDIA Tesla M40
GPU4: NVIDIA Tesla M40
GPU5: NVIDIA Tesla P40
GPU6: NVIDIA Tesla P40
GPU7: NVIDIA Tesla P100
GPU8: NVIDIA Tesla P100
GPU9: NVIDIA Tesla P100
GPU10: NVIDIA Tesla P100
GPU11: NVIDIA GeForce RTX 3070
GPU12: NVIDIA GeForce RTX 3070 Ti
Location: between outer and cyberspace
Contact:

Re: 32 max threads on windows?

Post by mchaker »

GetNativeSystemInfo() seems to work on Windows versions older than 10 (author states that the call runs on Windows XP)

Would it be possible for me to compile my own FAHClient? Or is that something only the FAH team can compile and distribute?

If it's only doable by the team, is it too much to ask for that change? :)
calxalot
Site Moderator
Posts: 878
Joined: Sat Dec 08, 2007 1:33 am
Location: San Francisco, CA
Contact:

Re: 32 max threads on windows?

Post by calxalot »

FAHClient is closed-source and another v7 release is unlikely.

I think you'll have to wait for a 64-bit v8 client for Windows.
I don't know when or if such will be released, but it seems needed.
I doubt anyone is running 32-bit Windows on cpus with >32 threads.
Neil-B
Posts: 2027
Joined: Sun Mar 22, 2020 5:52 pm
Hardware configuration: 1: 2x Xeon E5-2697v3@2.60GHz, 512GB DDR4 LRDIMM, SSD Raid, Win10 Ent 20H2, Quadro K420 1GB, FAH 7.6.21
2: Xeon E3-1505Mv5@2.80GHz, 32GB DDR4, NVME, Win10 Pro 20H2, Quadro M1000M 2GB, FAH 7.6.21 (actually have two of these)
3: i7-960@3.20GHz, 12GB DDR3, SSD, Win10 Pro 20H2, GTX 750Ti 2GB, GTX 1080Ti 11GB, FAH 7.6.21
Location: UK

Re: 32 max threads on windows?

Post by Neil-B »

Or just the ability to set the number of threads in the config and not have the client override it .. simples .. only needs that call if auto generating slot
2x Xeon E5-2697v3, 512GB DDR4 LRDIMM, SSD Raid, W10-Ent, Quadro K420
Xeon E3-1505Mv5, 32GB DDR4, NVME, W10-Pro, Quadro M1000M
i7-960, 12GB DDR3, SSD, W10-Pro, GTX1080Ti
i9-10850K, 64GB DDR4, NVME, W11-Pro, RTX3070

(Green/Bold = Active)
calxalot
Site Moderator
Posts: 878
Joined: Sat Dec 08, 2007 1:33 am
Location: San Francisco, CA
Contact:

Re: 32 max threads on windows?

Post by calxalot »

If you’re feeling brave, sure, try it.
Be sure to have the client exit before altering config.xml
Post Reply