Page 1 of 1

64 bit vs. 32 bit?

Posted: Thu Oct 22, 2020 3:10 am
by MajorCaliber
I have a 64 bit processor running 64 bit Win 10 with a default installation of FAH, yet my System Info tab on FAH Control shows FAH Client, CBang, and libFAH are all marked as 32 bit. I can’t copy from that log window. Here are the configuration lines from the log file. It seems to indicate 64 bit. Am I properly configured or do I need to re-install?

Code: Select all

01:37:24:WU00:FS01:Started FahCore on PID 26568
01:37:24:WU00:FS01:Core PID:29848
01:37:24:WU00:FS01:FahCore 0xa7 started
01:37:24:WU02:FS02:0x22:*********************** Log Started 2020-10-22T01:37:24Z ***********************
01:37:24:WU02:FS02:0x22:*************************** Core22 Folding@home Core ***************************
01:37:24:WU02:FS02:0x22:       Core: Core22
01:37:24:WU02:FS02:0x22:       Type: 0x22
01:37:24:WU02:FS02:0x22:    Version: 0.0.13
01:37:24:WU02:FS02:0x22:     Author: Joseph Coffland <joseph@cauldrondevelopment.com>
01:37:24:WU02:FS02:0x22:  Copyright: 2020 foldingathome.org
01:37:24:WU02:FS02:0x22:   Homepage: https://foldingathome.org/
01:37:24:WU02:FS02:0x22:       Date: Sep 19 2020
01:37:24:WU02:FS02:0x22:       Time: 02:35:58
01:37:24:WU02:FS02:0x22:   Revision: 571cf95de6de2c592c7c3ed48fcfb2e33e9ea7d3
01:37:24:WU02:FS02:0x22:     Branch: core22-0.0.13
01:37:24:WU02:FS02:0x22:   Compiler: Visual C++ 2015
01:37:24:WU02:FS02:0x22:    Options: /TP /nologo /EHa /wd4297 /wd4103 /O2 /Ob3 /Zc:throwingNew /MT
01:37:24:WU02:FS02:0x22:             -DOPENMM_GIT_HASH="\"189320d0\""
01:37:24:WU02:FS02:0x22:   Platform: win32 10
01:37:24:WU02:FS02:0x22:       Bits: 64
01:37:24:WU02:FS02:0x22:       Mode: Release
01:37:24:WU02:FS02:0x22:Maintainers: John Chodera <john.chodera@choderalab.org> and Peter Eastman
01:37:24:WU02:FS02:0x22:             <peastman@stanford.edu>
01:37:24:WU02:FS02:0x22:       Args: -dir 02 -suffix 01 -version 706 -lifeline 25024 -checkpoint 15
01:37:24:WU02:FS02:0x22:             -gpu-vendor amd -opencl-platform 1 -opencl-device 0 -gpu 0
01:37:24:WU02:FS02:0x22:************************************ libFAH ************************************
01:37:24:WU02:FS02:0x22:       Date: Sep 7 2020
01:37:24:WU02:FS02:0x22:       Time: 19:09:56
01:37:24:WU02:FS02:0x22:   Revision: 44301ed97b996b63fe736bb8073f22209cb2b603
01:37:24:WU02:FS02:0x22:     Branch: HEAD
01:37:24:WU02:FS02:0x22:   Compiler: Visual C++ 2015
01:37:24:WU02:FS02:0x22:    Options: /TP /nologo /EHa /wd4297 /wd4103 /O2 /Ob3 /Zc:throwingNew /MT
01:37:24:WU02:FS02:0x22:   Platform: win32 10
01:37:24:WU02:FS02:0x22:       Bits: 64
01:37:24:WU02:FS02:0x22:       Mode: Release
01:37:24:WU02:FS02:0x22:************************************ CBang *************************************
01:37:24:WU02:FS02:0x22:       Date: Sep 7 2020
01:37:24:WU02:FS02:0x22:       Time: 19:08:30
01:37:24:WU02:FS02:0x22:   Revision: 33fcfc2b3ed2195a423606a264718e31e6b3903f
01:37:24:WU02:FS02:0x22:     Branch: HEAD
01:37:24:WU02:FS02:0x22:   Compiler: Visual C++ 2015
01:37:24:WU02:FS02:0x22:    Options: /TP /nologo /EHa /wd4297 /wd4103 /O2 /Ob3 /Zc:throwingNew /MT
01:37:24:WU02:FS02:0x22:   Platform: win32 10
01:37:24:WU02:FS02:0x22:       Bits: 64
01:37:24:WU02:FS02:0x22:       Mode: Release
01:37:24:WU02:FS02:0x22:************************************ System ************************************
01:37:24:WU02:FS02:0x22:        CPU: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
01:37:24:WU02:FS02:0x22:     CPU ID: GenuineIntel Family 6 Model 142 Stepping 10
01:37:24:WU02:FS02:0x22:       CPUs: 8
01:37:24:WU02:FS02:0x22:     Memory: 15.87GiB
01:37:24:WU02:FS02:0x22:Free Memory: 2.97GiB
01:37:24:WU02:FS02:0x22:    Threads: WINDOWS_THREADS
01:37:24:WU02:FS02:0x22: OS Version: 6.2
01:37:24:WU02:FS02:0x22:Has Battery: true
01:37:24:WU02:FS02:0x22: On Battery: false
01:37:24:WU02:FS02:0x22: UTC Offset: -7
01:37:24:WU02:FS02:0x22:        PID: 30980
01:37:24:WU02:FS02:0x22:        CWD: C:\Users\MyUser93\AppData\Roaming\FAHClient\work
01:37:24:WU02:FS02:0x22:************************************ OpenMM ************************************
01:37:24:WU02:FS02:0x22:   Revision: 189320d0
01:37:24:WU02:FS02:0x22:********************************************************************************
01:37:24:WU02:FS02:0x22:Project: 17309 (Run 0, Clone 4280, Gen 2)
01:37:24:WU02:FS02:0x22:Unit: 0x0000000212bc7d9a5f8e34b193beb5fb
01:37:24:WU02:FS02:0x22:Digital signatures verified
01:37:24:WU02:FS02:0x22:Folding@home GPU Core22 Folding@home Core
01:37:24:WU02:FS02:0x22:Version 0.0.13
01:37:24:WU02:FS02:0x22:  Checkpoint write interval: 62500 steps (5%) [20 total]
01:37:24:WU02:FS02:0x22:  JSON viewer frame write interval: 12500 steps (1%) [100 total]
01:37:24:WU02:FS02:0x22:  XTC frame write interval: 125000 steps (10%) [10 total]
01:37:24:WU02:FS02:0x22:  Global context and integrator variables write interval: disabled
01:37:24:WU02:FS02:0x22:There are 3 platforms available.
01:37:24:WU02:FS02:0x22:Platform 0: Reference
01:37:24:WU02:FS02:0x22:Platform 1: CPU
01:37:24:WU02:FS02:0x22:Platform 2: OpenCL
01:37:24:WU02:FS02:0x22:  opencl-device 0 specified
01:37:24:WU00:FS01:0xa7:*********************** Log Started 2020-10-22T01:37:24Z ***********************
01:37:24:WU00:FS01:0xa7:************************** Gromacs Folding@home Core ***************************
01:37:24:WU00:FS01:0xa7:       Type: 0xa7
01:37:24:WU00:FS01:0xa7:       Core: Gromacs
01:37:24:WU00:FS01:0xa7:       Args: -dir 00 -suffix 01 -version 706 -lifeline 26568 -checkpoint 15 -np
01:37:24:WU00:FS01:0xa7:             7
01:37:24:WU00:FS01:0xa7:************************************ CBang *************************************
01:37:24:WU00:FS01:0xa7:       Date: Nov 27 2019
01:37:24:WU00:FS01:0xa7:       Time: 03:40:09
01:37:24:WU00:FS01:0xa7:   Revision: d25803215b59272441049dfa05a0a9bf7a6e3c48
01:37:24:WU00:FS01:0xa7:     Branch: master
01:37:24:WU00:FS01:0xa7:   Compiler: Visual C++ 2008
01:37:24:WU00:FS01:0xa7:    Options: /TP /nologo /EHa /wd4297 /wd4103 /Ox /MT
01:37:24:WU00:FS01:0xa7:   Platform: win32 10
01:37:24:WU00:FS01:0xa7:       Bits: 64
01:37:24:WU00:FS01:0xa7:       Mode: Release
01:37:24:WU00:FS01:0xa7:************************************ System ************************************
01:37:24:WU00:FS01:0xa7:        CPU: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
01:37:24:WU00:FS01:0xa7:     CPU ID: GenuineIntel Family 6 Model 142 Stepping 10
01:37:24:WU00:FS01:0xa7:       CPUs: 8
01:37:24:WU00:FS01:0xa7:     Memory: 15.87GiB
01:37:24:WU00:FS01:0xa7:Free Memory: 2.93GiB
01:37:24:WU00:FS01:0xa7:    Threads: WINDOWS_THREADS
01:37:24:WU00:FS01:0xa7: OS Version: 6.2
01:37:24:WU00:FS01:0xa7:Has Battery: true
01:37:24:WU00:FS01:0xa7: On Battery: false
01:37:24:WU00:FS01:0xa7: UTC Offset: -7
01:37:24:WU00:FS01:0xa7:        PID: 29848
01:37:24:WU00:FS01:0xa7:        CWD: C:\Users\MyUser93\AppData\Roaming\FAHClient\work
01:37:24:WU00:FS01:0xa7:******************************** Build - libFAH ********************************
01:37:24:WU00:FS01:0xa7:    Version: 0.0.19
01:37:24:WU00:FS01:0xa7:     Author: Joseph Coffland <joseph@cauldrondevelopment.com>
01:37:24:WU00:FS01:0xa7:  Copyright: 2019 foldingathome.org
01:37:24:WU00:FS01:0xa7:   Homepage: https://foldingathome.org/
01:37:24:WU00:FS01:0xa7:       Date: Nov 25 2019
01:37:24:WU00:FS01:0xa7:       Time: 17:12:41
01:37:24:WU00:FS01:0xa7:   Revision: d5b5c747532224f986b7cd02c968ed9a20c16d6e
01:37:24:WU00:FS01:0xa7:     Branch: master
01:37:24:WU00:FS01:0xa7:   Compiler: Visual C++ 2008
01:37:24:WU00:FS01:0xa7:    Options: /TP /nologo /EHa /wd4297 /wd4103 /Ox /MT
01:37:24:WU00:FS01:0xa7:   Platform: win32 10
01:37:24:WU00:FS01:0xa7:       Bits: 64
01:37:24:WU00:FS01:0xa7:       Mode: Release
01:37:24:WU00:FS01:0xa7:************************************ Build *************************************
01:37:24:WU00:FS01:0xa7:       SIMD: avx_256
01:37:24:WU00:FS01:0xa7:********************************************************************************
01:37:24:WU00:FS01:0xa7:Project: 17201 (Run 0, Clone 1256, Gen 409)
01:37:24:WU00:FS01:0xa7:Unit: 0x000001c480fccb0a5f32ff00db2e6e4f
01:37:24:WU00:FS01:0xa7:Digital signatures verified
01:37:24:WU00:FS01:0xa7:Reducing thread count from 7 to 6 to avoid domain decomposition by a prime number > 3
01:37:24:WU00:FS01:0xa7:Calling: mdrun -s frame409.tpr -o frame409.trr -x frame409.xtc -cpi state.cpt -cpt 15 -nt 6
01:37:24:WU00:FS01:0xa7:Steps: first=102250000 total=250000
01:37:26:WU00:FS01:0xa7:Completed 171312 out of 250000 steps (68%)
Mod Edit: Added Code Tags - PantherX

Re: 64 bit vs. 32 bit?

Posted: Thu Oct 22, 2020 3:40 am
by JimboPalmer
Good News!

Both Core_a7 and Core_a8 come in both 32 bit and 64 versions. If you have a 32 bit Windows it will use the 32 bit version of the Core.

64 bit versions also exist for 64 bit MacOS, Linux, and Windows.

(I would not build new 32 bit Windows boxes)

Re: 64 bit vs. 32 bit?

Posted: Thu Oct 22, 2020 3:59 am
by MajorCaliber
Well I guess the heart of the question is since I should be running the 64 bit version, why does my System Info tab on FAH Control show FAH Client, CBang, and libFAH show all marked as 32 bit. Am I misinterpreting this information or does this mean I'm not actually running 64 bit?

Re: 64 bit vs. 32 bit?

Posted: Thu Oct 22, 2020 5:42 am
by Joe_H
The components of the folding client you listed are not the parts that do the actual folding. For Windows they only come in a 32-bit download as 64-bit code gives no advantage.

As JimboPalmer has written, the folding cores that the client downloads to do the actual processing of WUs are 64-bit. You will see them running as FAHCore_nn processes.

Re: 64 bit vs. 32 bit?

Posted: Thu Oct 22, 2020 8:00 am
by bruce
The answer to the original question 64 bit vs. 32 bit? is YES to both.

We recommend a 64-bit OS if you have the hardware that will run it. It can run both 32-bit and 64-bit programs. There's nothing wrong with running 32-bit programs which support 64-bit programs.

Several of FAHs supporting programs are compiled only for 32-bit but the 64-bit versions of the FAHCores (the real workhorse programs) are strongly recommended.

When somebody convinced you that 64-bit programs are always faster than 32-bit programs, they were not telling you the truth. FAH will sort it all out for you. It's not something you need to worry about.

Re: 64 bit vs. 32 bit?

Posted: Thu Oct 22, 2020 12:38 pm
by Sousinha
I cant find x64 version for Windows, only x32. Please, help me.
Thanks.

Re: 64 bit vs. 32 bit?

Posted: Thu Oct 22, 2020 2:51 pm
by Joe_H
Sousinha wrote:I cant find x64 version for Windows, only x32. Please, help me.
Thanks.
As already written here, there is just one version fo Windows. There is no separate 64-bit download. The client will download 64-bit versions of the folding cores as needed.

Re: 64 bit vs. 32 bit?

Posted: Thu Oct 22, 2020 3:34 pm
by Sousinha
This is not true at all. I have an ASUS ROG Zephyrus G14 with 24Gb RAM and 64bits Windows 10 Enterprise and only installs x32 version. Why? Is too new?

Re: 64 bit vs. 32 bit?

Posted: Thu Oct 22, 2020 3:39 pm
by Joe_H
There is no separate 64-bit download for Windows for any system. The folding cores are downloaded separately by the client, when they are running you will see they are 64-bit. They show up as processes named FAHCore_nn, where the "nn" will be either 21 or 22 for GPU folding or A7 or A8 for CPU folding.

Re: 64 bit vs. 32 bit?

Posted: Thu Oct 22, 2020 5:20 pm
by MajorCaliber
Si I take this as the answer to my original question:
Joe_H wrote:The components of the folding client you listed are not the parts that do the actual folding. For Windows they only come in a 32-bit download as 64-bit code gives no advantage..
The parts that are 32 bit don't drive folding speed, so my installation is just fine.

Re: 64 bit vs. 32 bit?

Posted: Thu Oct 22, 2020 6:02 pm
by Joe_H
MajorCaliber wrote:Si I take this as the answer to my original question:
Joe_H wrote:The components of the folding client you listed are not the parts that do the actual folding. For Windows they only come in a 32-bit download as 64-bit code gives no advantage..
The parts that are 32 bit don't drive folding speed, so my installation is just fine.
Yes

Several years ago a separate 64-bit Windows installer was created. But just recompiling the existing codebase was not enough, there were new bugs that only affected the 64-bit version. Tracking down whether these were in the code itself, or existed in the 64-bit versions of the libraries used, would have taken too much developer time. So since the 32-bit code for FAHControl, FAHClient and such worked just fine and had no performance impact, the decision was made to just continue with the 32-bit Windows client installer to be used on both 32 and 64 bit Windows. The folding cores themselves are 64-bit, 32-bit versions do exist for Windows but use of them has been going away.

A Windows machine running the 32-bit OS may still be able to get CPU work still, but I don't know of any recent reports. 64-bit Windows is required for GPU folding, both AMD and nVidia dropped 32-bit support in their drivers years ago.

Re: 64 bit vs. 32 bit?

Posted: Thu Oct 22, 2020 6:48 pm
by Sousinha
32bits can only drive up to 3,9GB of RAM or/and VRAM, and YES the folding power is clearer enforced by this.

Re: 64 bit vs. 32 bit?

Posted: Thu Oct 22, 2020 8:04 pm
by Joe_H
Sousinha wrote:32bits can only drive up to 3,9GB of RAM or/and VRAM, and YES the folding power is clearer enforced by this.
How? You need to show what is affected by those limits.

For the client components that are installed by the package downloaded from the F@h site, none require large amounts of RAM or VRAM. FAHControl should be using less than about 50 MB or memory, FAHClient somewhere in the 200-300 MB range, and FAHViewer may use several hundred MB if being used to display a large protein. In none of these is that 32-bit ode slowing anything down.

The actual computational work for folding is done in a separate process started by FAHClient the a WU is running. That runs an FAHCore that the client downloads as needed from the servers. These FAHCores are 64-bit However in most cases they are not taking advantage of the increased access to RAM, they rarely use more than 1 GB or memory. The exceptions are very large WUs for several hundred thousand atoms. For those memory usage can be higher. During startup of some large GPU WUs testers have reported the folding core process using a bit more than 2 GB of RAM for a short period.

Notice in none of these has RAM usage approached that 3.9 GB limit. As for VRAM, the GPU folding cores don't really use the VRAM, just the shaders and the registers associated with them.

What performance improvements the folding cores do get from 64-bit code is access to additional registers. And yes that was detectable in tests done in the past. Not a huge increase, but significant.

So yes, you are correct about 64-bit code have access to more RAM and VRAM, but for most of what folding is doing it does not make a difference. It especially does not make any significant difference in the client components installed by the single download provided for both 32 and 64 bit Windows.

Re: 64 bit vs. 32 bit?

Posted: Thu Oct 22, 2020 8:56 pm
by JimboPalmer
Here is a 'map' of 32 bit vs 64 bit registers.
Image

So far as I know, no part of F@H uses the MMX registers.

As you see, the Instruction Pointer allows more than 4 gig of memory in 64 bit mode. So F@H had huge progam size needs, that could be a limit.

As you also see, there are twice as many Floating Point registers, (XMM) so if FAHcontrol or FAHclient used Floating Point extensively, they could be faster. Neither does much number crunching, that is done by the Cores.

There are both more and wider General Purpose registers, so if FAHcontrol or FAHclient were doing more complex logic, they could be faster. Both are pretty simple and neither is CPU bound. FAHcontrol waits on the user mostly. FAHclient will be network bound or storage bound at any point, not processor bound.

Both the CPU and GPU Cores will be processor bound virtually all the time. (perhaps RAM bound sometime)

Re: 64 bit vs. 32 bit?

Posted: Fri Oct 23, 2020 4:38 am
by MeeLee
Sousinha wrote:This is not true at all. I have an ASUS ROG Zephyrus G14 with 24Gb RAM and 64bits Windows 10 Enterprise and only installs x32 version. Why? Is too new?
I believe the installer is 32 bit (correct me if I'm wrong).
After you install it, it'll automatically download the cores.
The cores (and WUs) are 64 bit.

The installer is just the client service (to enable service at boot), and Control (to visually see the WU progress bars and PPD, as well as have access to basic options), as well as a viewer.
You don't need 64 bit for these programs.

You need to run a 64-capable system (and OS), to run the CPU and GPU cores, which are doing the WU processing.