Folding@home

From ArchWiki

This article or section is out of date.

Reason: Some parts of this article are out of date, as the foldingathomeAUR package now uses fah-client.service and the config is done via the web interface at https://v8-4.foldingathome.org/ this should also be displayed on install. (Discuss in Talk:Folding@home#This Article is outdated)

Help scientists studying Alzheimer's, Huntington's, Parkinson's, and SARS-CoV-2 by simply running a piece of software on your computer. Add your computer to a network of millions of others around the world to form the world's largest distributed supercomputer.

Installation

Install the foldingathomeAUR package. In order to use your GPU for folding (highly recommended), you will need ocl-icd and the appropriate OpenCL package for your GPU. NVIDIA users can also use CUDA.

Configuration

Run FAHClient --configure as root to generate a configuration file at /etc/fah-client/config.xml (the Arch Linux team number is 45032). Alternately, you can edit /etc/fah-client/config.xml by hand. With a configuration file in place, you can start the daemon, check its status, and make the daemon automatically start at boot time.

$ cd /etc/fah-client
# FAHClient --configure

Then start/enable the foldingathome.service systemd unit. NVIDIA users should also enable the foldingathome-nvidia.service systemd unit.

The graphical way

You can manage the daemon by opening a web browser and heading to http://localhost:7396/. Alternately, you can install fahcontrolAUR and use the FAHControl program (or fahcontrol-gtk3-gitAUR for a GTK3 fork).

The daemon can also be controlled remotely. Instructions for doing so are listed in /etc/foldingathome/config.xml. Remember to open firewall ports if necessary.

The terminal way

The behaviour of foldingathome can be customized by editing /etc/foldingathome/config.xml. Some options that can be specified:

  • passkey, to uniquely identify you. Though not needed, it provides some measure of security. For details, see [1]
<passkey v='passkey'/>
  • Slots for CPU or GPU
<slot id='0' type='CPU'/>

Run f@h with limited privileges

The updated version of foldingathomeAUR package (>7.6.9) already runs as a limited user. It also installs a systemd user script that you can use, which users without root access can enable (you will still need video group access to be able to use the GPU).

Monitoring work-unit progress

There are several ways of monitoring the progress of your FAH clients, both on the command line and by GUI.

Folding@home writes its log file to the data directory. By checking out a few last lines you can check its progress, e.g. tail -10 /var/log/foldingathome/log.txt.

The fahcontrolAUR software distributed by folding at home provides you with efficient means to control both local and remote hosts. Just add another client with the corresponding button "Add" and enter the name, IP address, port and password (if you set one) and hit save. The software should now try to establish a connection to the remote host and show you the progress in a separate client tab.

For checking NVIDIA GPU utilisation, core temperature and power usage, nvtop can be used. For AMD GPUs, use radeontop.

Troubleshooting

“Disabled” on AMDGPU

Navi 10 based GPUs and later suffer from ROCm conflicting with Folding@home's shipped libstdc++ library. In order to fix this, try to apply this temporary workaround[2]:

  • start Folding@home, and wait for the GPU to fail;
the GPU slot may need to be re-enabled for this.
  • replace Folding@home's current core's libstdc++.so.6 by your system's own library, e.g., /usr/lib/libstdc++.so.6.
Folding@home's core can be found at /var/lib/fah/cores/cores.foldingathome.org/lin/64bit/.
Note: you need superuser privileges to enter these directories.

The fix will stop working when a new Folding@home core version is released: it will need to be reapplied.

If it's not working yet, try editing /etc/foldingathome/config.xml file to attempt to autoconfigure GPUs:

<gpu v='true'/>

It if it's not working, you may wish to try using either rocm-opencl-runtime or opencl-amdAUR. Mesa OpenCL implementations are unlikely to work.

If you still receive errors that the GPU is disabled, check if opencl-clover-mesa and opencl-rusticl-mesa are installed and remove them so they do not conflict.

If it still does not work, make sure that there is only one vendor listed in /etc/OpenCL/vendors; Folding@home will not work correctly if there are multiple vendors.

See also