5.4 KiB
BOINC
- TL;DR
- Client management
- Use the GPU for computations
- Use VirtualBox for computations
- Gotchas
- Further readings
Files are located in /var/lib/boinc by default.
Some distribution (debian and derivate) use /etc/boinc-client for configuration files instead, and create links to the ones in the default location.
TL;DR
# Install.
flatpak install 'edu.berkeley.BOINC'
sudo zypper install 'boinc-client' 'boinc-manager'
# Set the GUI RPC communications port.
boinc --gui_rpc_port 30000
Client management
| Name | Type | Description |
|---|---|---|
| BOINC Manager | Graphical | |
| boinccmd | Command line | |
| boinctui | Text |
Local control RPCs are authenticated using the GUI RPC password. This password is located in the gui_rpc_auth.cfg configuration file, as the single first line, with a max length of 255 characters.
A password is required from version FIXME, and is automatically generated if the file is not found or it is empty.
Remote management
All remote RPCs (both status and control) are authenticated using the GUI RPC password.
Quick, dirty solution: use the --allow_remote_gui_rpc option when starting the client.
This will make the BOINC client accept connections from any host (subject to password authentication) even if the client's configuration files are set otherwise.
Better solution:
-
add the
<allow_remote_gui_rpc>1</allow_remote_gui_rpc>option to thecc_config.xmlfile in the BOINC data directory -
restart the service to make the above change effective
-
check port 31416 (or the one configured for use) is reachable from other hosts
-
specify a set of allowed hosts creating the
remote_hosts.cfgfile in the BOINC data directory; its entries must be DNS host names or IP addresses, and must be one per linethe Read config file action in BOINC Manager's Advanced menu will also read the
remote_hosts.cfgfile, so a restart of the client is not required to enable changes to the remote host list. -
check the
gui_rpc_auth.cfgfile in the BOINC data directory to get the password for authentication
Use the GPU for computations
To use the GPU for projects you may need the proprietary nVidia or AMD drivers. See AMD Linux drivers and Radeon™ Software for Linux® Installation.
amdgpu-install --usecase=workstation --opencl=rocr
The BOINC client seems to need to be added to the video group to be able to use the drivers correctly - this is something I still need to check.
gpasswd -a 'boinc' 'video'
usermod --append --groups 'video' 'boinc'
On OpenSUSE
Install the amdgpu-install package from AMD's Linux drivers page, then execute it.
# Previous versions of the package (like the one in the official documentation
# at the time of writing) made DKMS fail.
sudo zypper install 'https://repo.radeon.com/amdgpu-install/22.20.3/sle/15.4/amdgpu-install-22.20.50203-1.noarch.rpm'
sudo amdgpu-install
At the next restart of the boinc-client, something similar to this line should appear in the client's logs:
Oct 09 23:09:40 hostnameHere boinc[1709]: 09-Oct-2022 23:09:40 [---] OpenCL: AMD/ATI GPU 0: gfx90c:xnack- (driver version 3452.0 (HSA1.1,LC), device ve>
Check the GPU is OpenCL-enabled
Just install and run clinfo:
$ clinfo
Number of platforms 1
Platform Name NVIDIA CUDA
Platform Vendor NVIDIA Corporation
Platform Version OpenCL 1.2 CUDA 10.0.132
…
Use VirtualBox for computations
Install VirtualBox, then add the boinc user to the vboxusers group:
usermod --append --groups 'vboxusers' 'boinc'
Gotchas
-
it seems to work much better on debian-based distribution
-
In order to suspend computing when the computer is in use, the
boincuser should have access to your X session so that mouse and keyboard input can be communicated to the client:xhost +SI:localuser:boinc
Further readings
- BOINC Manager
- boinccmd for the bare CLI utility
- boinctui for a TUI manager
- GUI RPC bind to port 31416 failed: 98