Xsuite BOINC interface
Project description
XBOINC
Python package for submitting track simulations in particle accelerators with BOINC system
INSTRUCTIONS FOR WINDOWS:
How to install boinc client/manager on Windows
Use the installer at: https://boinc.berkeley.edu/download.php
Compile boinc api and examples from source on Windows
We use MSys2, in particular MINGW64
Follow the instruction at https://www.msys2.org to install MSYS2 and GCC:
pacman -S mingw-w64-x86_64-gcc
pacman -Suy
pacman -Suy # you need indeed twice!
Install git and python packages:
pacman -S git
pacman -Sy mingw-w64-x86_64-python-numpy
pacman -Sy mingw-w64-x86_64-python-scipy
pacman -Sy mingw-w64-x86_64-python-pandas
pacman -Sy mingw-w64-x86_64-python-pip
pacman -Sy mingw-w64-x86_64-python-wheel
pacman -Sy vim
Compile BOINC
pacman -S autotools
cd
git clone https://github.com/BOINC/boinc
cd boinc
export BOINC_DIR=$PWD
./_autosetup
./configure --disable-server --disable-client --disable-manager --disable-gui
# This one takes very long
make
# This also takes quite long
Generate xboinc source and input files on windows
cd
mkdir xsuite_packages
cd xsuite_packages
git clone https://github.com/xsuite/xobjects.git
git clone https://github.com/xsuite/xpart.git
git clone https://github.com/xsuite/xtrack.git
git clone https://github.com/xsuite/xfields.git
git clone https://github.com/xsuite/xboinc.git
pip install --no-deps --no-build-isolation -e xtrack
pip install --no-deps --no-build-isolation -e xobjects
pip install --no-deps --no-build-isolation -e xpart
pip install --no-deps --no-build-isolation -e xfields
pip install --no-deps --no-build-isolation -e xboinc
Compile and generate input
cd xboinc/examples/000_build_executable
python 000_build_executable.py
bash 001msys2_compile_executable.sh
cd ../002_lhc
python 001_build_input.py
cd ../003_boinc
echo $BOINC_DIR # Check if points into the BOINC source directory
python 000_build_executable.py
make
Run/test the executable
cp ../002_lhc/xboinc_input.bin .
chmod +x xboinc_executable
./xboinc_executable
Running the test application with boinc server
We still work in MSYS2 (MINGW64)
In order to have it working we needed to have the file structure in C:\PrgramData\Boinc
cd /c/ProgramData/BOINC # This in WINDOWS is hidden
cp ~/xsuite_packages/xboinc/examples/003_boinc/client_state_save.xml .
then
nano account_test.xml
write
<account>
<master_url>http://test.test</master_url>
<project_name>test_project</project_name>
</account>
then
nano cc_config.xml
write
<cc_config>
<options>
<skip_cpu_benchmarks/>
<unsigned_apps_ok/>
</options>
</cc_config>
Then make folder structure
mkdir projects/test.test
cp ~/xsuite_packages/xboinc/examples/002_lhc/xboinc_input.bin projects/test.test/input.bin
cp ~/xsuite_packages/xboinc/examples/003_boinc/xboinc_executable.exe projects/test.test/xboinc_executable
In one terminal:
cp client_state_save.xml client_state.xml; ./../../Program\ Files/BOINC/boinc.exe
In another:
/c/Program\ Files/BOINC/boincmgr.exe
In case of problems stop boing client in the status bar:
You can suspend using the activity menu:
You can see the checkpoints in:
You can restart from the same menu.
When the job is finished, the result are saved in "projects/test.test/output.bin"
INSTRUCTIONS FOR UBUNTU:
How to install boinc client/manager on Ubuntu
https://boinc.berkeley.edu/wiki/Installing_BOINC_on_Ubuntu
Basically only:
sudo apt-get install aptitude
sudo aptitude install boinc-client boinc-manager
Compile boinc api and examples from source on Ubuntu
On a fresh ubuntu installation I neede to:
sudo apt install make
sudo apt install m4
sudo apt install pkg-config
sudo apt install autoconf
sudo apt install libtool
sudo apt install g++
cd
git clone https://github.com/BOINC/boinc
cd boinc
export BOINC_DIR=$PWD
./_autosetup
From https://boinc.berkeley.edu/trac/wiki/BuildSystem
"If you're developing or porting a BOINC application, you need only the API: "
./configure --disable-server --disable-client --disable-manager --disable-gui
# This one takes very long
and then
make
# This also takes quite long
Installing xsuite packages
cd
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
source miniconda3/bin/activate
pip install numpy scipy matplotlib pandas ipython pytest
mkdir xsuite_packages
cd xsuite_packages
git clone https://github.com/xsuite/xobjects
git clone https://github.com/xsuite/xdeps
git clone https://github.com/xsuite/xpart
git clone https://github.com/xsuite/xtrack
git clone https://github.com/xsuite/xfields
git clone https://github.com/xsuite/xboinc
pip install -e xobjects
pip install -e xdeps
pip install -e xpart
pip install -e xtrack
pip install -e xfields
pip install -e xboinc
Compile and generate input
cd xboinc/examples/000_build_executable
python 000_build_executable.py
bash 001msys2_compile_executable.sh
cd ../002_lhc
python 001_build_input.py
cd ../003_boinc
echo $BOINC_DIR # Check if points into the BOINC source directory
python 000_build_executable.py
make
Run/test the executable
cp ../002_lhc/xboinc_input.bin .
chmod +x xboinc_executable
./xboinc_executable
Running the test application with boinc server
cd
mkdir xboinc_test
cp ~/xsuite_packages/xboinc/examples/003_boinc/client_state_save.xml .
then
vim account_test.xml
write
<account>
<master_url>http://test.test</master_url>
<project_name>test_project</project_name>
</account>
then
vim cc_config.xml
write
<cc_config>
<options>
<skip_cpu_benchmarks/>
<unsigned_apps_ok/>
</options>
</cc_config>
Add the same GUI RPC passwords in
vim gui_rpc_auth.cfg
and in
vim /etc/boinc-client/gui_rpc_auth.cfg
Then make folder structure
mkdir projects/test.test
cp ~/xsuite_packages/xboinc/examples/002_lhc/xboinc_input.bin projects/test.test/input.bin
cp ~/xsuite_packages/xboinc/examples/003_boinc/xboinc_executable.exe projects/test.test/xboinc_executable
In one terminal:
cp client_state_save.xml client_state.xml; boinc --gui_rpc_port 31417
In another:
boincmgr --gui_rpc_port 31417
!! Before running BOINC client or manager, kill the previous BOINC session
sudo /etc/init.d/boinc-client stop
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file xboinc-0.1.4.tar.gz
.
File metadata
- Download URL: xboinc-0.1.4.tar.gz
- Upload date:
- Size: 21.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.2 CPython/3.9.12 Linux/4.18.0-492.el8.x86_64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | affc5fe1c7238f73568111569e7c7ac73dbb06a30592c5ae23e2454b935cba33 |
|
MD5 | e89bcfc19ef1b7150134bf4c444c7623 |
|
BLAKE2b-256 | d847e38a02a3439ae05a62cffd5bc3426a6779514040b9b2eae2edc71f644aff |
File details
Details for the file xboinc-0.1.4-py3-none-any.whl
.
File metadata
- Download URL: xboinc-0.1.4-py3-none-any.whl
- Upload date:
- Size: 29.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.2 CPython/3.9.12 Linux/4.18.0-492.el8.x86_64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e70394b5819d6f97de97ae0a323d4719860b171cfb12772d6b7a451ab79b1f0 |
|
MD5 | 146bd188c7684d198127d23886bd6584 |
|
BLAKE2b-256 | b7126febbedd8a05ff47920fa16ee5161642f7325d694619395b91bd11f3b278 |