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...
client software optimizations
Moderators: Site Moderators, FAHC Science Team
-
- 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
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?
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.
-
- Posts: 2574
- Joined: Mon Feb 16, 2009 4:12 am
- Location: Greenwood MS USA
Re: client software optimizations
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
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
I tried to remain childlike, all I achieved was childish.
A friend to those who want no friends
-
- Posts: 2
- Joined: Fri Mar 27, 2020 4:29 pm
Re: client software optimizations
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
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
-
- Posts: 2574
- Joined: Mon Feb 16, 2009 4:12 am
- Location: Greenwood MS USA
Re: client software optimizations
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.
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
I tried to remain childlike, all I achieved was childish.
A friend to those who want no friends
Re: client software optimizations
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.
Posting FAH's log:
How to provide enough info to get helpful support.
How to provide enough info to get helpful support.
Re: client software optimizations
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.
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.
-
- Posts: 2574
- Joined: Mon Feb 16, 2009 4:12 am
- Location: Greenwood MS USA
Re: client software optimizations
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
I tried to remain childlike, all I achieved was childish.
A friend to those who want no friends