BOSS is written in Python 3 and distributed as a PyPI package.
We recommend installing BOSS inside a virtual enviroment (
conda…). The latest stable version can be installed using pip:
python3 -m pip install aalto-boss
If you are not using virtual enviroments, we recommend doing a user-installation with pip:
python3 -m pip install --user aalto-boss
On Linux, this will place the python module under
$HOME/.local/lib/python3.X/site-packages where X should be substituted for the minor version of your Python distribution. During the installation an executable called
boss, which is used to run BOSS, is built and placed under
$HOME/.local/bin. In order for your BOSS installation to function properly, these paths must (if not already present) be appended to the correct enviroment variables:
export PATH=$PATH:$HOME/.local/bin # Do not forget to substitute X for your Python minor version export PYTHONPATH=$PYTHONPATH:$HOME/.local/lib/python3.X/site-packages
To check that the installation was successful, calling the
boss executable without any arguments should result in usage instruction being printed. During the installation you may see a large number of dependencies being installed by pip. Notably, BOSS uses the Gaussian process framework GPy as a backend.
To install the development version, clone the source code and install with pip:
git clone https://gitlab.com/cest-group/boss.git cd boss python3 -m pip install --user .
Rarely, on HPC systems, runtime errors related to the use of cython in GPy have been observed. This can typically be resolved by using a more fully-featured Python distribution that ships with cython, such as Anaconda.
BOSS is frequently run on HPC queues in parallel jobs that accommodate data acqusitions. Please be sure to set the system variable
export OMP_NUM_THREADS=1for optimal performance in serial jobs (for parallelisation in BOSS, check the keywords). On some systems, it may be needed to set:
export MKL_NUM_THREADS=1 export NUMEXPR_NUM_THREADS=1 export OMP_NUM_THREADS=1