client software optimizations

If you're new to FAH and need help getting started or you have very basic questions, start here.

Moderators: Site Moderators, FAHC Science Team

Post Reply
bratpiorka
Posts: 2
Joined: Fri Mar 27, 2020 4:29 pm

client software optimizations

Post by bratpiorka »

HI all,

As situation with cov-19 get worse and worse, I decided to engage in Folding@home to help find cure for it.
I work for a large IT corporation where I had over 10 years of specialization in optimizing performance of CPU and GPU apps and drivers.
Is there a way to help to optimize F@H client software? Having powerful CPUs and GPUs is very important to get calculations faster but running optimized algorithms are also very important...
Jesse_V
Site Moderator
Posts: 2851
Joined: Mon Jul 18, 2011 4:44 am
Hardware configuration: OS: Windows 10, Kubuntu 19.04
CPU: i7-6700k
GPU: GTX 970, GTX 1080 TI
RAM: 24 GB DDR4
Location: Western Washington

Re: client software optimizations

Post by Jesse_V »

HI bratpiorka and welcome to the forum.

As some background knowledge, there are multiple layers to the F@h software. Most users see the Web Control website or the FAHControl front-end, which both talk to FAHClient under the hood. FAHClient organizes the work, tracks the user's configuration, downloads workunits, and returns them when complete. FAHClient also launches FAHCores, and each FAHCore perform the critical processing of the workunit on a CPU or GPU. These are the specialty components that are based on tools like OpenMM and GROMACS. Do you or your coworkers have any experience in molecular modeling?
F@h is now the top computing platform on the planet and nothing unites people like a dedicated fight against a common enemy. This virus affects all of us. Lets end it together.
JimboPalmer
Posts: 2574
Joined: Mon Feb 16, 2009 4:12 am
Location: Greenwood MS USA

Re: client software optimizations

Post by JimboPalmer »

The science is open source.
The CPU code is GROMACS http://www.gromacs.org/
The GPU code is OpenMM http://openmm.org/

Both are available for optimizations
Tsar of all the Rushers
I tried to remain childlike, all I achieved was childish.
A friend to those who want no friends
bratpiorka
Posts: 2
Joined: Fri Mar 27, 2020 4:29 pm

Re: client software optimizations

Post by bratpiorka »

thanks for replies!
no, we are not specialized in molecular modeling, but we are highly specialized in optimization of CPU and GPU computing tasks. On low level computation it really doesn't matter what do you calculate but rather how to do it really fast. Thanks for explanation - it looks like we should contact with GROMACS/OpenMM
JimboPalmer
Posts: 2574
Joined: Mon Feb 16, 2009 4:12 am
Location: Greenwood MS USA

Re: client software optimizations

Post by JimboPalmer »

I can say GROMACS has SSE2, SSE4, AVX_256, and AVX_512 branches, but F@H only follows the SSE2 and AVX_256 branches at this time in Core_a7. (I would bet that covers most CPUs in use at the time it was written)

I was never a SIMD specialist programmer, but I appreciate that it gets more 'hand built' than the accounting code I did work on.

So far as I know, OpenMM is written to OpenCL 1.2, or perhaps that is a choice F@H decides to follow.
Tsar of all the Rushers
I tried to remain childlike, all I achieved was childish.
A friend to those who want no friends
bruce
Posts: 20910
Joined: Thu Nov 29, 2007 10:13 pm
Location: So. Cal.

Re: client software optimizations

Post by bruce »

Back when SSE was a new concept, GROMACS had hand-optimized ALC code to pack SP Floats into SSE registers and unpack the results. We've come a long way since then.
ipkh
Posts: 175
Joined: Thu Jul 16, 2015 2:03 pm

Re: client software optimizations

Post by ipkh »

At least 1 project was sent out with a newer version of Openmm than was available to the fahclient.
The optimizations probably are built into the core itself. There is also the possibility that newer instructions wouldn't help all that much, much like the new AVX512 doesn't always outperform earlier code due to its downclocking.
JimboPalmer
Posts: 2574
Joined: Mon Feb 16, 2009 4:12 am
Location: Greenwood MS USA

Re: client software optimizations

Post by JimboPalmer »

Yes Core_22 uses a newer version of OpenMM than Core_21 does. So a little better science and slightly more points.
Tsar of all the Rushers
I tried to remain childlike, all I achieved was childish.
A friend to those who want no friends
Post Reply