Foldingathome
From Gentoo Wiki
Installing folding@home on gentoo linux.
Install:
To install folding@home client's package, run:
root #
emerge --ask sci-biology/foldingathome
The package will install in /opt directory.
Configure:
root #
emerge --config =foldingathome-7.5.1
Configuring pkg... ./FAHClient: /opt/foldingathome/libssl.so.10: no version information available (required by ./FAHClient) ./FAHClient: /opt/foldingathome/libcrypto.so.10: no version information available (required by ./FAHClient) ./FAHClient: /opt/foldingathome/libcrypto.so.10: no version information available (required by ./FAHClient) 12:09:37:INFO(1):Read GPUs.txt User name [Anonymous]: myuser (put the username that you want for the Folding@home-system) Team number [0]: Passkey: Enable SMP [true]: Enable GPU [true]:
(replace version with the one just emerged.)
Openrc
To start foldingathome's daemon:
root #
rc-service foldingathome start
Once the service has been started, one can control it from the client's webpage: client.foldingathome.org.
To stop the daemon:
root #
rc-service foldingathome stop
To add the foldingathome's daemon client to the default runlevel, run:
root #
rc-update add foldingathome default
To remove the foldingathome's daemon client from the default runlevel, run:
root #
rc-update del foldingathome default
Systemd
Enable Suspend/Hibernate Resume.
When suspending or hibernating without stopping the foldingathome service OpenCl becomes inoperative, (after a suspend one must also reload the nvidia_uvm module.
Service files:
[Unit]
Description=Stop foldingathome before hibernate
Before=suspend.target
Before=hibernate.target
Before=hybrid-sleep.target
[Service]
ExecStart=/bin/bash -c "/bin/systemctl stop foldingathome"
ExecStartPost=/bin/sleep 10
[Install]
WantedBy=suspend.target
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target
[Unit]
Description=Restart foldingathome after hibernate
#After=suspend.target
After=hibernate.target
#After=hybrid-sleep.target
[Service]
Type=simple
ExecStart=/bin/systemctl start foldingathome
[Install]
#WantedBy=suspend.target
WantedBy=hibernate.target
#WantedBy=hybrid-sleep.target
enable the 2 service-units:
root #
systemctl enable Stop_Foldingathome_before_Hibernate.service
root #
systemctl enable Start_Foldingathome_after_Hibernate.service
!!!foldingathome-service is not started by the Start_Foldingathome_after_Hibernate-service!!! !!!we need also to reload teh nvidia_uvm module!!! !!!folingdathome is started by a suspend-resumescript (see next charpter)!!!
System-sleep script:
#!/bin/bash
echo $1/$2
case $1/$2 in
pre/hibernate)
echo "Going to $1 $2..."
# flush caches before hibernating to save time on sleep/wakeup
sync
echo 1 > /proc/sys/vm/drop_caches
sync
echo 2 > /proc/sys/vm/drop_caches
sync
echo 3 > /proc/sys/vm/drop_caches
sync
;;
post/hibernate)
echo "Waking up from $1 $2..."
;;
pre/suspend)
echo "Going to $2..."
;;
post/suspend)
echo "Waking up from $2..."
# reload the nvidia_uvm module to enable cuda again after resume from suspend
rmmod nvidia_uvm
modprobe nvidia_uvm
systemctl start foldingathome
;;
esac
make the script executable.
root #
chmod a+x /lib/systemd/system-sleep/suspend-resume.sh
to do: procedure for other videocards.