Client Performance

Moderators: Site Moderators, FAHC Science Team

Client Performance

Postby Thejaka » Sat Apr 18, 2020 5:42 am

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...
Thejaka
 
Posts: 7
Joined: Sat Apr 18, 2020 5:24 am

Re: Client Performance

Postby PantherX » Sat Apr 18, 2020 6:04 am

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
User avatar
PantherX
Site Moderator
 
Posts: 6327
Joined: Wed Dec 23, 2009 10:33 am
Location: Land Of The Long White Cloud

Re: Client Performance

Postby jonault » Sat Apr 18, 2020 6:18 am

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
jonault
 
Posts: 176
Joined: Fri Dec 14, 2007 10:53 pm

Re: Client Performance

Postby bruce » Sun Jul 05, 2020 4:56 am

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.
bruce
 
Posts: 19656
Joined: Thu Nov 29, 2007 11:13 pm
Location: So. Cal.

Re: Client Performance

Postby JimboPalmer » Sun Jul 05, 2020 10:33 am

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 9: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
JimboPalmer
 
Posts: 1957
Joined: Mon Feb 16, 2009 5:12 am
Location: Greenwood MS USA

Re: Client Performance

Postby Joe_H » Sun Jul 05, 2020 4:12 pm

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
Joe_H
Site Admin
 
Posts: 6442
Joined: Tue Apr 21, 2009 5:41 pm
Location: W. MA

Re: Client Performance

Postby bruce » Sun Jul 05, 2020 4:41 pm

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?
bruce
 
Posts: 19656
Joined: Thu Nov 29, 2007 11:13 pm
Location: So. Cal.

Re: Client Performance

Postby JimboPalmer » Sun Jul 05, 2020 9:11 pm

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)
JimboPalmer
 
Posts: 1957
Joined: Mon Feb 16, 2009 5:12 am
Location: Greenwood MS USA


Return to Discussions of General-FAH topics

Who is online

Users browsing this forum: gunnarre and 2 guests

cron