Client Performance

Moderators: Site Moderators, FAHC Science Team

Post Reply
Thejaka
Posts: 7
Joined: Sat Apr 18, 2020 4:24 am

Client Performance

Post by Thejaka »

I'm concerned about the efficiency of the clients, esp. the Windows client I'm using. I was thinking of using this on multiple Windows 10 computers in future (possibly soon). Currently experimenting on a single Windows 10 64 bit machine. Seems the client is x86/32 bit, and written using python? Is that optimal esp. on a 64 bit machine? Also, I was wondering if it might be possible to use a GPU core on non-nVidia systems, possibly using OpenCL. At least on my current test machine, GPU isn't detected/supported, and only a single vCPU is allocated automatically, I think, though I may be able to change that by fiddling with the config. Could the performance be improved? I'm a Software Engineer and coder, so wondering if I could help... Also wondering if clients could be developed for other devices, not currently supported. Do you have a client for XBOX? Wondering if a client could be setup on my brother's XBOX or in future, the one I plan to buy...
PantherX
Site Moderator
Posts: 7020
Joined: Wed Dec 23, 2009 9:33 am
Hardware configuration: V7.6.21 -> Multi-purpose 24/7
Windows 10 64-bit
CPU:2/3/4/6 -> Intel i7-6700K
GPU:1 -> Nvidia GTX 1080 Ti
§
Retired:
2x Nvidia GTX 1070
Nvidia GTX 675M
Nvidia GTX 660 Ti
Nvidia GTX 650 SC
Nvidia GTX 260 896 MB SOC
Nvidia 9600GT 1 GB OC
Nvidia 9500M GS
Nvidia 8800GTS 320 MB

Intel Core i7-860
Intel Core i7-3840QM
Intel i3-3240
Intel Core 2 Duo E8200
Intel Core 2 Duo E6550
Intel Core 2 Duo T8300
Intel Pentium E5500
Intel Pentium E5400
Location: Land Of The Long White Cloud
Contact:

Re: Client Performance

Post by PantherX »

Welcome to the F@H Forum Thejaka,

Please note that the software is a mix of 32-bit and 64-bit. The parts that process the folding of WUs are 64-bit. The parts that are not used for folding WUs are 32-bit. I am aware that there's work being done to change from Python 2 to Python 3 here: https://github.com/FoldingAtHome/fah-control/pull/56

Supported GPUs are from AMD/Nvidia as long as they have OpenCL 1.2 and Double Precision.

Using gaming consoles requires approval from the vendors. Previously, there was a client for PS2 or PS3 (not sure) but once the partnership ended, that was stopped.
ETA:
Now ↞ Very Soon ↔ Soon ↔ Soon-ish ↔ Not Soon ↠ End Of Time

Welcome To The F@H Support Forum Ӂ Troubleshooting Bad WUs Ӂ Troubleshooting Server Connectivity Issues
jonault
Posts: 214
Joined: Fri Dec 14, 2007 9:53 pm

Re: Client Performance

Post by jonault »

There was a PS3 client - I ran it on my PS3 (and in fact that was part of the reason i bought it). I don't recall ever hearing of a PS2 client, but I never had a PS2, so it's not something I would have paid much attention to.
Image
bruce
Posts: 20910
Joined: Thu Nov 29, 2007 10:13 pm
Location: So. Cal.

Re: Client Performance

Post by bruce »

I, too, boutght a PS3 almost exclusively for FAH.
Big mistake.

After a couple of years, I quit using it..
(1) it was power-hungry and heated up the room too much and
(2) it had no future as a platform. It was a completely static platform whereas commercial GPUs followed Moore's Law and increased in performance on a regular basis.
(3) It didn't generate FAH points; the credits only went to the PS3 game-board.
JimboPalmer
Posts: 2573
Joined: Mon Feb 16, 2009 4:12 am
Location: Greenwood MS USA

Re: Client Performance

Post by JimboPalmer »

Thejaka wrote:I'm concerned about the efficiency of the clients, esp. the Windows client I'm using. I was thinking of using this on multiple Windows 10 computers in future (possibly soon). Currently experimenting on a single Windows 10 64 bit machine. Seems the client is x86/32 bit, and written using python? Is that optimal esp. on a 64 bit machine? Also, I was wondering if it might be possible to use a GPU core on non-nVidia systems, possibly using OpenCL. At least on my current test machine, GPU isn't detected/supported, and only a single vCPU is allocated automatically, I think, though I may be able to change that by fiddling with the config. Could the performance be improved? I'm a Software Engineer and coder, so wondering if I could help... Also wondering if clients could be developed for other devices, not currently supported. Do you have a client for XBOX? Wondering if a client could be setup on my brother's XBOX or in future, the one I plan to buy...
The client deals with uploading and downloading data, which will always be ISP limited. The client also contains the user interface, which will always be human limited.

The science is done by the Core, (GPU Core_21 and Core_22, or CPU Core_a7) The GPU cores are mostly GPU bound but come in x86 and x64 variants. Most of the program is OpenCL instructions in the OpenMM framework. The CPU core, Core_a7, also comes in x86 and x64 variants and is mostly SIMD instructions. In an old CPU, they are SSE2, on newer CPUs, they are AVX_256. The frame work is GROMACS.

In some versions of the client (I know 7.5.1) the first Work Unit is started before the number of threads desired is known, so the First WU only uses a single thread. All other WUs uses the configured number of threads. You can lower the number of threads on the fly, but raising the number of threads only takes place at the beginning of a WU.

To improve F@H you improve either OpenMM or GROMACS,
http://openmm.org/
http://www.gromacs.org/
(while I am a programmer, I am not an expert in Molecular Dynamics or parallel processing via SIMD)

Currently all Cients (Linux, MacOS and Windows) and Cores run on 64 bit x86, although Windows still has legacy 32 bit Clients and CPU Cores as well.

There are retired Clients and Cores for other architectures. There was a 'recent' Android Client on ARM by Sony and a 'recent' Chrome client by Google. Looking forward it seems a MacOS client on ARM may be a target if someone with deep pockets' wants to fund one. (As a naive bystander, ARM has two challenges, big.LITTLE has 3 flavors which can confuse the code, and ARM has several SIMD engines, which may be confusing)
https://en.wikipedia.org/wiki/ARM_big.LITTLE
https://en.wikipedia.org/wiki/ARM_archi ... multimedia
Last edited by JimboPalmer on Sun Jul 05, 2020 8:07 pm, edited 1 time in total.
Tsar of all the Rushers
I tried to remain childlike, all I achieved was childish.
A friend to those who want no friends
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: Client Performance

Post by Joe_H »

JimboPalmer wrote:The science is done by the Core, (GPU Core_21 and Core_22, or CPU Core_a7) The GPU cores are mostly GPU bound but come in x86 and x64 variants. Most of the program is OpenCL instructions in the OpenMM framework. The CPU core, Core_a7, also comes in x86 and x64 variants and is mostly SIMD instructions. In an old CPU, they are SSE2, on newer CPUs, they are AVX_256. The frame work is GROMACS.
Just updating this a bit. There used to be x86 (32-bit) versions of the GPU cores, but GPU folding has required 64-bits for at least the last couple of years.

As far as I can recall, the A7 folding core has not had a 32-bit version. The previous A4 CPU folding core had both 32-bit and 64-bit versions, the last projects using A4 finished up last year.

As mentioned, FAHClient is not doing anything that requires the expanded address space or registers available with 64-bit code. In addition it uses very little CPU time, only being active when needed to download or upload files, update the log, or handle control signals to start or stop folding. As an example, I have a system that has been up for 3 weeks, FAHClient has used all of 46 minutes of CPU time.

Briefly in the past there was a 64-bit version of FAHClient for Windows. But there were support issues that I vaguely recall being due to one of the 64-bit version of the tools used working differently.

Right now the open source components are OpenMM, Gromacs, and parts of the folding client - https://github.com/FoldingAtHome. Other parts of the client are planned to become open source including FAHClient, but that is being postponed while development resources are focused on the current response for COVID-19. Contributions can be made to the open source components.

As for gaming console support, while the client created in the past for PS3 with Sony's support was successful, it did show some limitations. The first, and possibly the biggest, is that a gaming console is static. Hardware that might be near leading edge when released becomes obsolete after 3-4 years. In any case, a client for a gaming console would require major support from the manufacturer to be possible.
Image

iMac 2.8 i7 12 GB smp8, Mac Pro 2.8 quad 12 GB smp6
MacBook Pro 2.9 i7 8 GB smp3
bruce
Posts: 20910
Joined: Thu Nov 29, 2007 10:13 pm
Location: So. Cal.

Re: Client Performance

Post by bruce »

FAHClient for Windows is 32-bit. So what.

As PantherX has already said, it's a rather low activity process, spending most of it's time waiting on your response or on a response from your ISP. It has no need for large allocations of RAM which would drive it into 64-bit memory. It's basically a browser.

You worry about running it on 10 computers. Do you worry about having a browser on each of those computers?
JimboPalmer
Posts: 2573
Joined: Mon Feb 16, 2009 4:12 am
Location: Greenwood MS USA

Re: Client Performance

Post by JimboPalmer »

Joe_H wrote:As far as I can recall, the A7 folding core has not had a 32-bit version. The previous A4 CPU folding core had both 32-bit and 64-bit versions, the last projects using A4 finished up last year.

Code: Select all

18:00:34:WU01:FS00:0xa7:************************************ System ************************************
18:00:34:WU01:FS00:0xa7:        CPU: Intel(R) Core(TM) i5 CPU M 520 @ 2.40GHz
18:00:34:WU01:FS00:0xa7:     CPU ID: GenuineIntel Family 6 Model 37 Stepping 5
18:00:34:WU01:FS00:0xa7:       CPUs: 4
18:00:34:WU01:FS00:0xa7:     Memory: 2.92GiB
18:00:34:WU01:FS00:0xa7:Free Memory: 1.26GiB
18:00:34:WU01:FS00:0xa7:    Threads: WINDOWS_THREADS
18:00:34:WU01:FS00:0xa7: OS Version: 6.2
18:00:34:WU01:FS00:0xa7:Has Battery: true
18:00:34:WU01:FS00:0xa7: On Battery: false
18:00:34:WU01:FS00:0xa7: UTC Offset: -5
18:00:34:WU01:FS00:0xa7:        PID: 5908
18:00:34:WU01:FS00:0xa7:        CWD: C:\Users\Laptop\AppData\Roaming\FAHClient\work
18:00:34:WU01:FS00:0xa7:******************************** Build - libFAH ********************************
18:00:34:WU01:FS00:0xa7:    Version: 0.0.18
18:00:34:WU01:FS00:0xa7:     Author: Joseph Coffland <joseph@cauldrondevelopment.com>
18:00:34:WU01:FS00:0xa7:  Copyright: 2019 foldingathome.org
18:00:34:WU01:FS00:0xa7:   Homepage: https://foldingathome.org/
18:00:34:WU01:FS00:0xa7:       Date: Oct 26 2019
18:00:34:WU01:FS00:0xa7:       Time: 01:34:37
18:00:34:WU01:FS00:0xa7:   Revision: c1e3513b1bc0c16013668f2173ee969e5995b38e
18:00:34:WU01:FS00:0xa7:     Branch: master
18:00:34:WU01:FS00:0xa7:   Compiler: Visual C++ 2008
18:00:34:WU01:FS00:0xa7:    Options: /TP /nologo /EHa /wd4297 /wd4103 /Ox /MT
18:00:34:WU01:FS00:0xa7:   Platform: win32 10
18:00:34:WU01:FS00:0xa7:       Bits: 32
18:00:34:WU01:FS00:0xa7:       Mode: Release
18:00:34:WU01:FS00:0xa7:************************************ Build *************************************
18:00:34:WU01:FS00:0xa7:       SIMD: sse2
18:00:34:WU01:FS00:0xa7:********************************************************************************
As you see, I am running 32 bit Core_a7 on a 32 bit version of Windows 10. (My wife has a BBQ contest scoring App that needs to be 32 bit, everything other PC is 64 bit)
Tsar of all the Rushers
I tried to remain childlike, all I achieved was childish.
A friend to those who want no friends
MichelF
Posts: 1
Joined: Sat Aug 22, 2020 7:18 pm

Re: Client Performance

Post by MichelF »

Hi, I started folding@home a few months ago, and just downloaded it on my iphone. Please help me set it up. It would be super if I could use the same passkey as my desktop, so I have 1 account and my numbers increase faster.
Thank you for your reply
PantherX
Site Moderator
Posts: 7020
Joined: Wed Dec 23, 2009 9:33 am
Hardware configuration: V7.6.21 -> Multi-purpose 24/7
Windows 10 64-bit
CPU:2/3/4/6 -> Intel i7-6700K
GPU:1 -> Nvidia GTX 1080 Ti
§
Retired:
2x Nvidia GTX 1070
Nvidia GTX 675M
Nvidia GTX 660 Ti
Nvidia GTX 650 SC
Nvidia GTX 260 896 MB SOC
Nvidia 9600GT 1 GB OC
Nvidia 9500M GS
Nvidia 8800GTS 320 MB

Intel Core i7-860
Intel Core i7-3840QM
Intel i3-3240
Intel Core 2 Duo E8200
Intel Core 2 Duo E6550
Intel Core 2 Duo T8300
Intel Pentium E5500
Intel Pentium E5400
Location: Land Of The Long White Cloud
Contact:

Re: Client Performance

Post by PantherX »

Welcome to the F@H Forum MichelF,

Please note that Folding@Home doesn't have a active mobile application yet. There was an Android version few years ago but that was discontinued. I am not sure what application you're talking about. I am aware that there might be some Folding@Home monitoring application which will provide data for your systems that are running the client (Linux/MacOS/Windows).
ETA:
Now ↞ Very Soon ↔ Soon ↔ Soon-ish ↔ Not Soon ↠ End Of Time

Welcome To The F@H Support Forum Ӂ Troubleshooting Bad WUs Ӂ Troubleshooting Server Connectivity Issues
bruce
Posts: 20910
Joined: Thu Nov 29, 2007 10:13 pm
Location: So. Cal.

Re: Client Performance

Post by bruce »

I think what you're talking about is a 3rd party iphone app which can monitor the FAHClient running on your PC and display the protein, but you need to be running FAHClient on a PC which is doing the actual work required to process a WU. Without the PC app to do the real work, the iphone app isn't useful.
Post Reply