Featured image of post Folding @ Home

Folding @ Home

Setting up F@H on my WSL Debian environment

I have a Windows desktop with plenty of room for contributing to Folding@Home resources. I was running the Folding@Home client natively in Windows and seeing some rather minimal numbers for my equipment compared to the average. Around 1/10 of the performance on my GPU for example.

In an effort to optimize, and simply to determine whether I can squeeze the average values out with my GPU (Geforce RTX 4070Ti), I have decided to run the F@H client on WSL Debian.

Using Debian on WSL means I need to install F@H on my WSL environment and I have to install the Nvidia drivers as well.

Installing F@H

If you navigate to Folding@Home’s website and find their Installation page it gives details on how to install F@H Client on Linux. I will use these steps.

I decided to go with the express installation on my setup.

First, I download the deb package “fahclient_7.6.21_amd64.deb” from their Downloads page. On Linux I can do this by copying the link address of the download and then incorporating it in the following command:

1
curl -o fahclient.deb https://download.foldingathome.org/releases/public/release/fahclient/debian-stable-64bit/v7.6/fahclient_7.6.21_amd64.deb

Note: If you don’t have curl, you can use wget.

Then I run the download with dpkg:

1
dpkg -i fahclient.deb

The client is now installed on my system as “FAHClient” and can be called from the terminal. Now is time to get those Nvidia drivers.

Installing Nvidia Drivers

Pre-requisite installs for Nvidia drivers

1
sudo apt install software-properties-common gcc

Nvidia CUDA Toolkit installation process

I’m going to install the open Nvidia drivers for this test. Those are the last two lines in the following command block:

1
2
3
4
5
6
7
wget https://developer.download.nvidia.com/compute/cuda/repos/debian11/x86_64/cuda-keyring_1.1-1_all.deb 
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo add-apt-repository contrib
sudo apt-get update 
sudo apt-get -y install cuda-toolkit-12-3
sudo apt-get install -y nvidia-kernel-open-dkms
sudo apt-get install -y cuda-drivers

Initial Testing Results

It looks like my graphics card doesn’t show up for the FAHClient. When I verify using nvidia-smi I am able to detect the GPU is available on WSL.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
$ nvidia-smi
Wed Jan 17 13:29:57 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 545.29.01              Driver Version: 546.01       CUDA Version: 12.3     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 4070 Ti     On  | 00000000:09:00.0  On |                  N/A |
|  0%   33C    P8              13W / 285W |   3702MiB / 12282MiB |      2%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|  No running processes found                                                           |
+---------------------------------------------------------------------------------------+

Trying FAHClient, I get this response:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
$ FAHClient
18:31:11:Read GPUs.txt
18:31:12:******************************* libFAH ********************************
18:31:12:       Date: Oct 20 2020
18:31:12:       Time: 20:36:39
18:31:12:   Revision: 5ca109d295a6245e2a2f590b3d0085ad5e567aeb
18:31:12:     Branch: master
18:31:12:   Compiler: GNU 8.3.0
18:31:12:    Options: -faligned-new -std=c++11 -fsigned-char -ffunction-sections
18:31:12:             -fdata-sections -O3 -funroll-loops -fno-pie
18:31:12:   Platform: linux2 5.8.0-1-amd64
18:31:12:       Bits: 64
18:31:12:       Mode: Release
18:31:12:****************************** FAHClient ******************************
18:31:12:    Version: 7.6.21
18:31:12:     Author: Joseph Coffland <joseph@cauldrondevelopment.com>
18:31:12:  Copyright: 2020 foldingathome.org
18:31:12:   Homepage: https://foldingathome.org/
18:31:12:       Date: Oct 20 2020
18:31:12:       Time: 20:39:00
18:31:12:   Revision: 6efbf0e138e22d3963e6a291f78dcb9c6422a278
18:31:12:     Branch: master
18:31:12:   Compiler: GNU 8.3.0
18:31:12:    Options: -faligned-new -std=c++11 -fsigned-char -ffunction-sections
18:31:12:             -fdata-sections -O3 -funroll-loops -fno-pie
18:31:12:   Platform: linux2 5.8.0-1-amd64
18:31:12:       Bits: 64
18:31:12:       Mode: Release
18:31:12:     Config: /home/astraeus/config.xml
18:31:12:******************************** CBang ********************************
18:31:12:       Date: Oct 20 2020
18:31:12:       Time: 18:37:59
18:31:12:   Revision: 7e4ce85225d7eaeb775e87c31740181ca603de60
18:31:12:     Branch: master
18:31:12:   Compiler: GNU 8.3.0
18:31:12:    Options: -faligned-new -std=c++11 -fsigned-char -ffunction-sections
18:31:12:             -fdata-sections -O3 -funroll-loops -fno-pie -fPIC
18:31:12:   Platform: linux2 5.8.0-1-amd64
18:31:12:       Bits: 64
18:31:12:       Mode: Release
18:31:12:******************************* System ********************************
18:31:12:        CPU: AMD Ryzen 9 5900X 12-Core Processor
18:31:12:     CPU ID: AuthenticAMD Family 25 Model 33 Stepping 0
18:31:12:       CPUs: 24
18:31:12:     Memory: 31.30GiB
18:31:12:Free Memory: 18.42GiB
18:31:12:    Threads: POSIX_THREADS
18:31:12: OS Version: 5.15
18:31:12:Has Battery: false
18:31:12: On Battery: false
18:31:12: UTC Offset: -5
18:31:12:        PID: 15623
18:31:12:        CWD: /home/astraeus
18:31:12:         OS: Linux 5.15.133.1-microsoft-standard-WSL2 x86_64
18:31:12:    OS Arch: AMD64
18:31:12:       GPUs: 0
18:31:12:       CUDA: Not detected: cuInit() returned 100
18:31:12:     OpenCL: Not detected: clGetPlatformIDs() returned -1001
18:31:12:***********************************************************************
Built with Hugo
Theme Stack designed by Jimmy