FAH ( Folding@Home) packages for TW

Trying to install the fahclient package from here: https://foldingathome.org/alternative-downloads/ but running into a dep. hell. Given the current Corona crisis, wouldn’t it be nice to have openSUSE packages available? Also from an openSUSE marketing perspective??

Hi
It’s not allowed to be redistributed…

Distribution of this software is prohibited. It may only be obtained by downloading from foldingathome.org (https://foldingathome.org and pages linked therein) or the web site of one of our commercial partners (NVIDIA and AMD).

Just run boinc and add the project?

If you download the tarballs there is a README for building locally from the github project(s).

Thanks, Malcolm. Hadn’t seen that. I did see that the most recent docker container is from 2017, packages contain init scripts … etc. I have absolutely no experience with boinc. But IMNSHO it’s a pity that projects like this have such restrictions.

Hi
I see they gave up on boinc… https://foldingathome.org/faqs/high-performance/fah-on-boinc/

The project stake holders then have control/repeatability of the code and results, in this case I don’t see it as a bad thing?

The code is old as well… not keeping up from a security perspective?

I have no idea. Simply lacking the tech knowledge.

Was disappointed as well that Folding @ Home does not run on openSUSE.
So for now I’m running BOINC with the Rosetta @ Home project which mentioned also having done some research related to Coronavirus. However it is not clear to me whether the focus there is as direct as with Folding @ Home.
I just find it sad that it’s not using the GPU at all, while Folding @ Home does.
I’ve seen some unofficial docker images for Folding @ Home but I’m unsure if Docker is able to properly use the GPU.

For BOINC no need for tarballs, just use zypper:

sudo zypper install boinc-client boinc-manager

Enable the service:

sudo systemctl enable boinc-client

.

Then run boinc-manager to get a system tray icon.
There you can create an account and add the Rosetta @ Home project.

Cheers,

Vincent

Are there instructions somewhere for running this in a terminal? Installing the client and manager and i’m unable to use boinccmd to setup anything (authentication error).

I downloaded their rpm packages too, to help with the Corona virus research.
I simply installed them ignoring the bzip2-libs requirement (I figured I probably already have bzip2 libraries installed, only with a different package name?) and they apparently installed ok.
Well, almost ok. The FAHClient post-install script failed because of am incompatible switch of the chkconfig program:

(1/3) Installazione di: fahclient-7.5.1-1.x86_64 ......................................................................................................................................[fine]
Output aggiuntivo di rpm:
Unknown option: levels
usage:
        chkconfig -A|--allservices              (together with -l: show all services)
        chkconfig -t|--terse [names]            (shows the links)
        chkconfig -e|--edit  [names]            (configure services)
        chkconfig -s|--set   [name state]...    (configure services)
        chkconfig -l|--list --deps] [names]    (shows the links)
        chkconfig -L|--liston --deps] [names]  (as -l, enabled in at least 1 level)
        chkconfig -c|--check name [state]       (check state)
        chkconfig -a|--add   [names]            (runs insserv)
        chkconfig -d|--del   [names]            (runs insserv -r)
        chkconfig -h|--help                     (print usage)
        chkconfig -f|--force ...                (call insserv with -f)

        chkconfig [name]             same as chkconfig -t
        chkconfig name state...      same as chkconfig -s name state
        chkconfig --root=<root> ...  use <root> as the root file system
Starting fahclient ... FAIL

I manually ran the chkconfig to enable the FHAClient service, but when I try to start it I get a cryptic error message:

~> sudo service FAHClient start
[sudo] password di root:
FAHClient is neither service nor target!?

Any suggestion?

I know I can run BOINC but I’d prefer to run the official client, if possible, to be more effective with the Corona virus research.

Thank you in advance
Cris

Nah, Knurpht is right: trying to run it manually reveals a lot of the libraries have different name, and even after trying to create several symlinks to fool the program into believing it has the libraries it needs (with the desired names, I mean) it could not run.
It’s a lost cause :frowning:

Cris

Found here a tutorial on making FAH work on opensuse, but this implies running the process with an old and insecure version on openSSL, so I won’t do it.
Anyway, this may be useful for someone else.

Cris

Haven’t tested this but it seems you can run FAH inside docker, which should work on any modern version of openSUSE:
https://github.com/christophecremon/education/tree/master/Azure/Container/folding%40home

Took a look at this,
I haven’t been able to install on a machine because my workhorse machine is being replaced, but spent some time re-writing the current FAH instructions for installing on Linux modifying for openSUSE specific… Anyone can try to run the following, and post any problems you run into and can’t resolve…

**Requirements **

Primiarily to set up support for GPU computing.
Check the GPU and other hardware requirements
I imagine it’s likely that GPU computing is optional, but don’t know for sure.

https://foldingathome.org/support/faq/installation-guides/linux/requirements/

Today, the GPU check has to be done manually to install the proper FAHcore version. If installation on openSUSE can work successfully following these steps, more work can be done to automate a possible “one click” installation script.

Set up GPU computing as appropriate for your particular GPU.

Add Python Repo

Depending on whether your machine is Tumbleweed or LEAP 15.1, add the python repo using one of the following two commands, then refresh with the command I provide you (or manually agree to the keys of the new repo)

Tumbleweed

zypper ar -f https://download.opensuse.org/repositories/devel:/languages:/python/openSUSE_Tumbleweed/ TW_python_repo

LEAP 15.1

zypper ar -F  https://download.opensuse.org/repositories/devel:/languages:/python/openSUSE_Leap_15.1/ LEAP_python_repo

After either of the above, refresh your zypper cache with the new repos

zypper--gpg-**auto**-import-keysref

Installation
The following commands download and install the current release FAH RPM packages

zypper in https://download.foldingathome.org/releases/public/release/fahclient/centos-5.3-64bit/v7.4/fahclient-7.4.4-1.x86_64.rpm
zypper in https://download.foldingathome.org/releases/public/release/fahcontrol/centos-5.3-64bit/v7.4/fahcontrol-7.4.4-1.noarch.rpm
zypper in https://download.foldingathome.org/releases/public/release/fahviewer/centos-5.3-64bit/v7.4/fahviewer-7.4.4-1.x86_64.rpm

This installation will skip the optional step described in the documentation that links python 2.6 and python 2.7.

I’m sure the current interest in using FAH is for working on coronavirus. The instructions for integration and use start on the following github page, but points to the FAH forum. People are encouraged to add to or modify what I’ve written in this post to improve.

https://github.com/FoldingAtHome/coronavirus

Post your result,
Whether you run into any problems or questions.

TSU

Hi Greg!

Yes, I’ve been using this ready-made image with success: yurinnick/folding-at-home

HTH
Cris

Inspecting the dockerfile for that container (and several others), looks like it only installs the fahclient package.
Not knowing too much how this app works and only reading descriptions how it’s to be run, I guess this might only access data, but can’t display the data graphically?
Curious because install documentation I read described installing fahcontrol and fahviewer as well.
Also, your chosen container does not install GPU computing support which I suspect is only optional but could be highly desirable if you’re doing any intensive computation or displaying the data graphically.
I took a look at one container which said it also installs GPU support, but from the install documentation I skimmed, I doubt it would work for any but his specific GPU.

TSU

Yes agreed about the GPU. It seems that the docker I mentioned initially installs only something related to Nvidia so I guess it’s not usable with AMD hardware (or at least it will not work with the desired speed). Then again I don’t know enough about the application so maybe FAH supports only Nvidia hardware. I think Nvidia hardware is generally preferred for GPU computations as for example Azure only provides Nvidia based VMs:
https://azure.microsoft.com/en-us/pricing/details/virtual-machines/series/
We also use Nvidia Tesla for AI computations at work and let me tell you installing drivers and cuda for those on RedHat 7 is a mess :slight_smile:

Hi TSU!

Yes, it is working with the CPU only. I am on AMD hardware, so I’m not sure if/how I can enable GPU. Not expert at all at this GPU number crunching thing.
Regarding fahcontrol, I am controlling the client by using the web interface available at http://127.0.0.1:7936. I don’t know if that is implemented by fahcontrol or if it is integrated in the fahclient package.
Finally, if fahviewer is only necessary for viewing nice graphics about what is being worked on, I can easily do without it.

Cris

My summary and overview of FAH installation on openSUSE, in a docker container, and GPU computing…

First,
If anyone wants to install the current, latest version of the three FAH components (including FAH client if that is only what you want), the three zypper commands I posted should install but are untested.
The preliminary step I described adding the python library should address any dependency problems in the vast majority of situations but is not 100%… If an error is still thrown about a missing file, if you post that error it can be resolved.
That should be all that is necessary to install if all goes as expected.

There is one additional step I’ve left out at the end of the official FAH installation documentation that <might> be necessary if remnants from ancient code (python 2.6) still exists in the codebase. Apparently the project recognized the problem long ago but decided against a thorough code review and instead decided to address those problems over time and decided in some cases not to ever fix because apparently newer versions of the problem code are apparently perfectly fine replacements and only require slight modification. If slight modifications are still found to be needed, I’ll add that step, but am leaving that out initially.

If no GPU computing is required, then the above should work but is untested.

There is also a GPU “requirement” in the install documentation which may actually only be optional.
If anyone wants that, the basic, overall steps are…

  1. Identify your GPU by exact model.
    If you’re using an Intel GPU, I understand only those shipped within the past 12 months (maybe less) could be GPU computing capable. I don’t know that any Linux documentation exists for this yet.
  2. If you have an nVidia or AMD GPU, there are published SDB articles which may be useful for setting up, but there have been so many significant changes setting up that the manufacturer documentation (ie nVidia or AMD) would probably be best, but only setting up is likely necessary. I remember years ago that nVidia recommended installing everything including test samples, utilities as part of a default install.
  3. I posted the link to find the FAH GPU packages but am posting here again… Don’t know why these packages are written so specifically to individual models, but it makes selecting, downloading and installing very error prone. If someone needs help here, you should post your GPU model and ask for assistance here.

Regarding the docker containers,
If anyone wants an evaluation of a container, go ahead and post your question about that container.
Many containers listed on dockerhub contain a tab that displays the dockerfile which describes the configuration and contents of the dockerfile which can be analyzed by anyone who understands, otherwise the container would have to be installed to inspect.
I did a brief examination of several containers and found numerous issues…

  • Even if a container was updated days ago, it still installs a not current version of FAH, sometimes only slightly old but others years old
  • Almost all installs using a deb package. Nothing wrong with that functionally and illustrates the cross-distro capability of docker. But, in most cases will mean that the install will include a stub of Debian which has positive and minuses in most cases non-critical.
  • Not surprisingly, I didn’t find any useful container that supports GPU computing because it’s not easy to write code that would properly select the FAH package for whatever GPU exists on the machine. All containers I inspected work only with a very specific GPU model and the odds of anyone else’ machine having the same GPU is very small.

The original FAH installation documentation including GPU computing is

https://foldingathome.org/support/faq/installation-guides/linux/requirements/

Do not follow any other installation documentation (like a SDB FAH client page), they’re out of date and don’t apply to today’s current openSUSE, both Tumbleweed and LEAP.

TSU

Yay, thanks guys , yurinnick/folding-at-home docker container works great. Needed some reading and reconguring the docker run, !!!

https://i.imgur.com/nBdpQBA.png

Hey, I just happened to find some instructions in German that seem to work without docker. Right now i’m waiting for assignment (no work units available…). I’m just going to copy/past it below. The original instructions is here

https://www.opensuse-forum.de/thread/44052-folding-home-auch-%C3%BCber-boinc-m%C3%B6glich/

Note: after make make && make install the directions say to cd ~/folding/usr/lib64, however that doesn’t seem correct, at least it doesn’t exist for me, so I updated the instructions to just say ~/folding/usr/lib and in the later script.

Also, I used an old opensuse team number (35676) for when you configure the client. Lastly, I don’t know how to get GPU functionality working. I suppose it’s an issue because i’m using amdgpu.

Download: fedora fahclient-7.5.1-1.x86_64.rpm fahcontrol-7.5.1-1.noarch.rpm fahviewer-7.5.1-1.x86_64.rpm vom folding@home server
Erzeuge das Verzeichnis folding im Homeverzeichnis

mkdir ~/folding
cd ~/folding

Pack die rpms mit rpm2cpio aus:

for a in *.rpm; do rpm2cpio $a | cpio -i -d --no-absolute-filenames; done

Besorg dir die veraltete openssl-1.0.0.tar.gz von /source/old/1.0.0/index.html, dann

tar zxvf openssl-1.0.0.tar.gz
cd openssl-1.0.0
./config --prefix=~/folding/usr --openssldir=openssl shared
make && make install
cd ~/folding/usr/lib
ln -s libssl.so.1.0.0 libssl.so.10
ln -s libcrypto.so.1.0.0 libcrypto.so.10

copier dieses script als ~/bin/FAHClient
—8<------8<—8<-----8<-------
#!/bin/bash
prg=${0##*/}
PYTHONPATH=$HOME/folding/usr/lib/python2.7/site-packages/ LD_LIBRARY_PATH=$HOME/folding/usr/lib $HOME/folding/usr/bin/$prg “$@”
—8<------8<—8<-----8<-------

dann
cd ~/bin
chmod +x FAHClient
ln -s FAHClient FAHControl
ln -s FAHClient FAHCoreWrapper
ln -s FAHClient FAHViewer

First, the default seems to be TEAM=0, where team 0 is overcrowded atm, hence one gets no jobs.
Second, the docker solution atm is far easier:
Open port 7396 in the public zone of the firewall


sudo zypper in docker
systemctl enable docker
systemctl start docker
docker pull yurinnick/folding-at-home
docker run   --name folding-at-home   -p 7396:7396   -p 36330:36330   -e USER=YOUR_PREFERRED_USER_NAME_HERE  -e TEAM=239199   -e ENABLE_GPU=false   -e ENABLE_SMP=true   --restart unless-stopped   yurinnick/folding-at-home   --allow 0/0   --web-allow 0/0


Now you can access the webinterface by http://IP_ADDRESS_OF_MACHINE_RUNNING_FAH:7396
Works on TW and Leap 15.1 in 10 minutes.