You may have read about Folding@Home here on AskWoody.com or elsewhere, but if not, I’ll give a quick description.
Folding@home, or FAH, is a distributed computing model for research related to the folding of proteins. This has many applications in medicine, including many of them that relate to COVID-19 and the fight to find antiviral drugs and to create a vaccine. Running these simulations takes tremendous amounts of computing power, and scientists often don’t have the funding to rent time on supercomputer(s) that would be powerful enough to get results. Meanwhile, there are millions of PCs in the world that have computing power that is not in use most of the time. The goal of FAH is to provide a way for those PC owners to donate the CPU and GPU power of their computers for research purposes. Your computer, if you wish to join, becomes part of a worldwide network of PCs (and even mobile devices) that, combined, form a magnificently powerful supercomputer.
If you choose to do this, you can start anytime and stop anytime. You don’t need to commit to letting FAH use your PC all day or even for the next 15 minutes. If you need the PC for something, you can pause the FAH work and use your PC as much as you wish, for as long as you wish, and return to folding whenever you want. You don’t have to sign up or give any personal info either, though you may choose to if you want to take part in friendly competitions or be recognized for the contribution.
For Ubuntu-based Linux, native .deb installers are provided. That includes all of the official flavors of Ubuntu, as well as Mint, Neon, and many others.
To start, visit this page and download the software. It will detect your user agent string and direct you to the matching version of the software, so if your user agent says “Linux,” it will take you to the Linux page. If you want to download the software on another OS, like Windows, but run it in Linux, you can use the link at the bottom for alternative downloads. If you want to run it completely in Windows… you can do that, but I have no experience with the Windows version.
The software has three parts. The client is the main bit of software, and it can function by itself without the other two bits. It has no graphical UI, though, so you’ll probably want the control module also. Note that as of this writing, the control module does not yet work in Ubuntu 20.04 (or, I believe, 19.x). The control module relies on old, deprecated Python libraries that are no longer part of any Ubuntu release newer than 18.04. Linux Mint 19.x will work with it, though, since Mint 19.x is based on Ubuntu 18.04, and the same is true for other Ubuntu derivatives that are based on 18.04.
The third part of the software is optional, and is only needed to see a visual representation of the work being done. It’s not necessary in order to help the research, but you may find it interesting.
The files we are interested in here are the three .deb files listed under the Ubuntu section. Download them to the location of your choosing, and from there, it should only be necessary to give each one a double click to start the installation. It’s probably best to start with the client, though I am not sure if that matters or not.
Once the client is installed, it will be set to automatically connect to the server at boot time and start folding by itself. The control program, FAHControl, can be used to change the settings, whether or not the client is busy folding at the moment. To run that, it should only be necessary to bring up your application menu (in Windows it would be the start menu) and type ‘fah’, and FAHControl should appear in the list. Run that, and you’ll see the various options available. If it is working on a project, you will see a progress bar and a link to a description for the project, and some other info. The credit stuff is about the competition… you can join a team and try to beat other teams if you wish. If you don’t sign in, it will just do it anonymously. That’s what I’ve done thus far.
If your computer has a discrete GPU, it should be recognized and shown under “Folding Slots.” If it is not shown, you may need to install an additional library or two, and perhaps change some settings. In Neon, I had to install ocl-icd-opencl-dev, and I already had the nVidia proprietary driver installed. It still didn’t recognize my nVidia GPU, so I tried reinstalling the client .deb. Still no!
I found the answer inside the control program. In the Configure menu (button to open it is upper left), under the Expert tab, I changed the option that was something like use-gpu from false to true. I also had to go into the Slots tab and create a new slot for my GPU, since it only listed the CPU. In my case, the options needed (in the Edit menu for the GPU slot) were to click the radio button under GPU (it’s way down by GPU Core Indices, but it’s the button for the whole section GPU), change GPU index to 1, and change opencl-index and cuda-index (near the bottom) to 0.
All three of those options were at -1 by default, which is supposed to mean “auto,” but it didn’t work for me. If you have only one GPU active on the system, the first option (GPU Index) will probably be a 0. Since I am talking about my Dell G3 gaming laptop, though, it has two GPUs… the Intel integrated that is part of the CPU, and the nVidia discrete GPU. Computers usually start counting at 0, so the first GPU, the Intel, is 0, and the nVidia is 1.
I don’t know how often this extra stuff will be necessary. It is best to try one thing at a time, and see if that works before proceeding to change more stuff. If the GPU is listed in the Slots field of the main screen, it probably means you’re set up correctly. Until I did the above stuff, it only showed my Intel integrated GPU.
A GPU is far more powerful than a CPU for this kind of work. I have a 6-core, 12-thread i7-8750H CPU in my Dell, which is a pretty decent one, but the nVidia 1050ti outperforms it (in estimated points per day) by a factor of between 4 and 18 to 1. You can use both at the same time for different workloads… it will do that by default if you have them both available.
Once it starts, all you have to do is wait and let it do its thing. If you want to use the PC for something else, just hit pause, or perhaps you will find that you can just do whatever it is even while it is running without pausing. Sometimes this works better than others, so if it’s super slow and laggy, just pause it until you’re ready to let it work again. The idea is to donate your unused computer resources, not to make you have to wait to use your own PC!
If you installed the viewer module, you can press the viewer button in the upper right to see a visual representation of the protein being folded. If it looks like a big rotating cylindrical blob of dots, you might want to go to Preferences (second button from the left) and change the render mode. I’m using “Cartoon ball and stick” at present. After you change the render mode, close and re-launch the viewer to see it with the new setting.
You can use the Folding Power slider at the top to adjust how much of your CPU or GPU power you want the program to use. It will push your GPU or CPU (or both) pretty hard, especially in “Full” folding power mode, so if your PC has any cooling or stability issues, this could make them show up. My laptop is running quite toasty with the settings I am using (full folding power), but the Intel Thermald service (part of the Ubuntu installation) and the system firmware keep it from overheating by throttling. Laptops can be expected to throttle under workloads like these… their small coolers are just not capable of moving enough heat to prevent it. My desktop, by comparison, with its large GPU and CPU coolers, can run all day at full throttle on the CPU and GPU and not get that hot. It also uses way more electricity, and I don’t want to run my bill way up, so that is why I am using my more power efficient laptop.
You can pick the kind of disease or research you want your computer to be used for, but I haven’t had to use the setting to get it to do COVID stuff. Every project it has received has been for COVID!
Dell XPS 13/9310, i5-1135G7/16GB, KDE Neon 6.2
XPG Xenia 15, i7-9750H/32GB & GTX1660ti, Kubuntu 24.04
Acer Swift Go 14, i5-1335U/16GB, Kubuntu 24.04 (and Win 11)