• How to set up Folding@Home on Ubuntu and related Linux distros

    Home » Forums » AskWoody support » Linux for the Home user » Linux – all distros » How to set up Folding@Home on Ubuntu and related Linux distros

    • This topic has 2 replies, 1 voice, and was last updated 5 years ago.
    Author
    Topic
    #2255667

    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)

    3 users thanked author for this post.
    Viewing 1 reply thread
    Author
    Replies
    • #2255854

      I would like to add that for people who are using Ubuntu 20.04, there’s an alternate control method that doesn’t offer as much granularity as the installable .deb, but it at least gives you the basics.

      Simply go to:

      https://client.foldingathome.org/

      from the PC that’s doing the folding, and it will connect to the client and allow you to access the basic features from there.  Until FAH decides to update their control software, it’s at least something.

      I’ve tried to install the missing dependencies on my Kubuntu 20.04 installation on the G3 by pulling them from the 18.04 repo, but they had more dependency issues/conflicts.  I’m using Neon (based on 18.04) as my main OS anyway, so I am not all that focused on making the control client work in 20.04.

      The problem the FAH control software has with later versions of Ubuntu is that 18.04 was the last Ubuntu release to support Python 2.  Python 3,first released in 2008, was intended to be a replacement for Python 2 from the start.  In 2014, the Python devs announced that Python 2 would go EOL in January 2020, which gave developers six years to plan for the change.  As part of the deprecation of Python 2, Ubuntu decided to drop Python 2 support for all releases after 18.04.

      The base Python 2 packages are, as far as I know, still available in the “Universe” category in the Ubuntu 20.04 repo, which is a place for things that are unsupported by Ubuntu and may or may not work properly.  Even though I had the universe repo enabled, though, FAH was not able to find all of its Python 2 dependencies on my Kubuntu 20.04 installation.

      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)

    • #2258158

      Some good news for anyone looking to run FAH on Ubuntu 20.04.  I just learned of a beta version of the control software that has been ported to Python 3, and so far, it works quite well!  I am using it now as I write this in a test installation of Kubuntu 20.04.  As an added bonus, I didn’t have to mess as much with the GPU settings to get it to work with my discrete nVidia card as I did with my main Neon installation.  I did still have to go to the expert settings and turn “GPU” to true and manually add the GPU slot (directions for that are above), but it now worked with the settings within that slot on auto.

      There are links to the beta repo I cited above from the official FAH discussion on GitHub, so it should be as trustworthy as FAH itself.

      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)

    Viewing 1 reply thread
    Reply To: How to set up Folding@Home on Ubuntu and related Linux distros

    You can use BBCodes to format your content.
    Your account can't use all available BBCodes, they will be stripped before saving.

    Your information: