The world is facing an unprecedented situation with the Coronavirus outbreak. It is crucial at these times for everyone to join hands and fight the rapidly spreading virus. Computing power available to researchers is very valuable right now. Folding@Home is a project which allows crowd-sourcing computing power by the help of distributed computing over public compute nodes for the study of biological proteins. The project is currently providing (at the time of writing this article) more than 470 petaFlops of computing power to researchers for studying Coronavirus, and to eventually prepare a cure for it.

But, What should I do?

Contribute.

Your computer’s idle time can be utilized towards contributing to the Folding@Home project very, very easily.

What do I need?

All that you need for contributing to the Folding@Home project -

  1. A working computer, can be local, can be a VM

  2. A stable internet connection

  3. A will to help, even if for a few hours a day!

Do you have these? If yes (or even if no), read on!

How to setup?

I shall provide a very quick but complete setup here that should get you started in no time.

The general procedure is as follows -

  1. Create a passkey for yourself.

  2. Download and install the FAHClient setup on the machine which will perform computation. You'll need your passkey in this step.

  3. Download the install the FAHControl setup on the machine which you will use to control and monitor your FAHClient.

  4. Any additional configuration as needed.

Let's get started!

Setup on a local machine

Setting up on a local machine is very simple. Follow along the steps below -

Windows

  1. Download and run the installer.

  2. Click Yes, Next, I Agree, Next, Finish.

  3. Enter a name, team number 250120 (to join our team, use 0 for no team), and Passkey.

  4. Click Save.

Linux

  1. Download the FAHClient package for your distro, using the following command:
1
2
3
4
5
# Debian/Ubuntu/Mint
wget https://download.foldingathome.org/releases/public/release/fahclient/debian-testing-64bit/v7.4/fahclient_7.4.4_amd64.deb

# RedHat / CentOS / Fedora
wget https://download.foldingathome.org/releases/public/release/fahclient/centos-5.3-64bit/v7.4/fahclient-7.4.4-1.x86_64.rpm
  1. Install package using following command:
1
2
3
4
5
6
# Debian/Ubuntu/Mint
sudo dpkg -i --force-depends fahclient_7.4.4_amd64.deb
sudo apt install -f

# RedHat / CentOS / Fedora
sudo rpm -i --nodeps fahclient-7.4.4-1.x86_64.rpm
  1. Enter a name, team number 250120 (to join our team, use 0 for no team), and Passkey.

  2. Complete the FAHClient installation.

  3. Download FAHControl using the following command:

1
2
3
4
5
# Debian/Ubuntu/Mint
wget https://download.foldingathome.org/releases/public/release/fahcontrol/debian-testing-64bit/v7.4/fahcontrol_7.4.4-1_all.deb

# RedHat / CentOS / Fedora
wget https://download.foldingathome.org/releases/public/release/fahcontrol/centos-5.3-64bit/v7.4/fahcontrol-7.4.4-1.noarch.rpm
  1. Install FAHControl using the following command:
1
2
3
4
5
6
# Debian/Ubuntu/Mint
sudo dpkg -i --force-depends fahcontrol_7.4.4-1_all.deb
sudo apt install -f

# RedHat / CentOS / Fedora
sudo rpm -i --nodeps fahcontrol-7.4.4-1.noarch.rpm

Setup on a VM

After provisioning your VM, assuming it is a Linux VM (we prefer Ubuntu 18.04 LTS), follow the given steps -

Steps to be performed on VM

  1. Update your package repository.
1
sudo apt update
  1. Download the FAHClient package for your distro, using the following command:
1
2
# Debian/Ubuntu/Mint
wget https://download.foldingathome.org/releases/public/release/fahclient/debian-testing-64bit/v7.4/fahclient_7.4.4_amd64.deb
  1. Install package using the following command:
1
2
3
# Debian/Ubuntu/Mint
sudo dpkg -i --force-depends fahclient_7.4.4_amd64.deb
sudo apt install -f
  1. Enter a name, team number 250120 (to join our team, use 0 for no team), and Passkey.

  2. Complete the FAHClient installation.

  3. Stop the FAHClient

1
sudo /etc/init.d/FAHClient stop
  1. Edit the configuration file, as shown below:
1
sudo nano /etc/fahclient/config.xml

Your file should look like:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<config>
<!-- Client Control -->
<fold-anon v='true'/>

<!-- Folding Slot Configuration -->
<gpu v='false'/>

<!-- HTTP Server -->
<allow v='127.0.0.1 your_local_system_ip'/>

<!-- Slot Control -->
<power v='full'/>

<!-- User Information -->
<passkey v='your_passkey'/>
<team v='250120'/>
<user v='your_name'/>

<!-- Web Server -->
<web-allow v='127.0.0.1 your_local_system_ip'/>

<!-- Folding Slots -->
<slot id='0' type='CPU'/>
</config>
  1. Restart the FAHClient
1
sudo /etc/init.d/FAHClient start

Steps to be performed locally

  1. Now, you’ll need to install the FAHControl on your local system. Use the steps given in the Setup on local machine section to install FAHControl on your local system.

  2. You should be able to access your remote FAHClient using the following address:

1
http://your_vm_ip:7396

You should see the dashboard displaying information as shown in the following screenshot:

You can always head over the official installation documentation for more details and options! You can also ask questions on the Folding Forum.

What did you learn today

Today, in under 3 minutes you learnt how you can join in the fight against coronavirus sitting from your home.

I'll post more on this blog soon! Bookmark my site to stay tuned!

About me

I am a web developer turned machine learning explorer who loves mixing and matching various stacks! I lead the team at The Code Foundation and we love solving problems about computer vision and NLP!

Send me a hi on hi@xpri.dev