Page 1 of 1

Idea of Group of GPU's

Posted: Sat Sep 05, 2020 10:25 am
by BuggersMark
I do have one idea for a future version of Folding@Home, instead of having one project for GPU, have a mode that can make a group/cluster of GPU's to work on the same project, as a example have 3 GPU's that produce 300k points each working on the same project making it produce around 900k points, making projects folding faster, the same way as a Octane Bench is able to make test with multiple GPU's.

Re: Idea of Group of GPU's

Posted: Sun Sep 06, 2020 2:17 am
by PantherX
Welcome to the F@H Forum BuggersMark,

Please note that you're talking about GPU clustering which may not be feasible since there's can be significant latency when syncing up those 3 GPUs. Plus, there's a lot of additional code complexity that would be virtually impossible to support given that F@H is under-resourced and under-funded. Plus, this feature would be used by a fraction given the technical and hardware limitations. Thus, to get the most efficiency for development, each GPU would be treated as an individual with a single WU (Work Unit) allocated to it.

BTW, I glanced at OctaneBench and it seems to be a rendering benchmark. F@H doesn't do any rendering thus, it might be a case of comparing apples to oranges.

Re: Idea of Group of GPU's

Posted: Sun Sep 06, 2020 7:11 pm
by MeeLee
There was a time about 1,5 to 2 years ago, it actually partially worked via CUDA in Windows.
One GPU could 'help' out another GPU.
There still were 1 WU assigned per GPU, however the main issue was the additional PCIE bandwidth load, from GPUs sending and receiving data over the PCIE bus in addition to the CPU data.
Overall it resulted in much lower PPD, and slower performance, and quite often a GPU would halt/slow down it's own WU, to aid another GPU.
The whole thing didn't work out, and the feat was discontinued.

I get that 3 slow GPUs would probably create a higher PPD score than the PPD of the 3 separately combined.
But FAH WUs are assigned to specific GPUs.
I don't think FAH will create additional WUs for all possible GPU configuration (slow GPU + fast GPU; fast + fast; slow+slow+slow GPU; ... The possibilities are endless!)

Re: Idea of Group of GPU's

Posted: Sun Sep 06, 2020 7:34 pm
by gunnarre
The molecules under study aren't that big at the moment, and the memory use is very low. Fast VRAM is good, but FAH uses only a few hundred megabytes of it for typical simulations.

A bigger issue right now is that big graphics cards sometimes get small molecules to work with, which means the GPU gets under-utilized. So rather than have many GPUs on the same machine working on one work unit, the idea being worked on now is to run things in parallell on one GPU to make sure all the computing cores on it get utilized efficiently.

Multi-GPU setups are pretty much dead for gaming at the moment, and since so few of the potential volunteers have them, it would likely not be worth it to develop multi-GPU work units.

Re: Idea of Group of GPU's

Posted: Mon Sep 07, 2020 8:49 am
by PantherX
Do note that the idea of running multiple small WUs on high-end GPUs is being discussed but there's confirmation or ETA yet.

Re: GRID A100X not using full power

Posted: Mon Sep 07, 2020 12:34 pm
by bruce
Various GPUs can "help out" other GPUs when you're talking about rendering but not when you're talking about stream computing. Each GPU can render it's own frame and the outputs can be merged into a single video stream, thus increasing the frame-rate of a game.

OTOH, computing the location of atoms runs into memory access speed limitations when computing the forces between an atom at it's current location and other atoms at their current locations. In a huge protein, sharing all that data between GPUs is going to be expensive compared to sorting the nearby atoms and doing all the calculations locally. It can work fine on a blended video stream but not a shared compute process. Accessing a local shader is always going to be a lot faster than moving data to a shader on a different GPU.

Besides, FAH has not used CUDA for many, many years. It has all been OpenCL until the current efforts by Development. You're thinking of something else.