Frequently asked questions¶
Can external collaborators access Bora?¶
Access to Bora is currently reserved to members and students of the Physics Department at UniTS. We may reconsider this policy in the future.
How do I install Python packages?¶
It is recommended to install Python packages in a Python virtual environment. While not strictly mandatory, it is generally best practice to create a dedicated environment for each project. This approach ensures a clean and reproducible setup and avoids potential conflicts between dependencies of different projects.
Navigate to your project’s directory
cd my_project
Create a virtual environment in folder env/
python3 -m venv env
To activate the environment and install packages within it
. env/bin/activate
pip install <package_to_install>
When you submit a job to the cluster, the job will inherit the environment of your shell, hence it will use the current virtual environment.
Once you have finished using the environment and you want to go back to the default Python distribution
deactivate
You can have several environments (e.g. one per project) and they can be deleted anytime by just deleting the env/
folder.
Can I use Julia?¶
Yes, of course! Just install Julia in your home
curl -fsSL https://install.julialang.org | sh
In the future, we may provide a Julia module.
How do I install Julia packages?¶
We recommend to install Julia packages in a local virtual environment. While not strictly mandatory, it is generally best practice to create a dedicated environment for each project. This approach ensures a clean and reproducible setup and avoids potential conflicts between dependencies of different projects.
Navigate to your project’s directory
cd my_project
Open Julia, and activate a new environment:
using Pkg
Pkg.activate(".”)
This creates a new Julia environment in the current directory and activates it.
While the environment is active, install any required packages:
Pkg.add("PackageName”)
This updates the two files Project.toml and Manifest.toml in your project folder to track the installed dependencies. Once the necessary packages are installed, you can exit the Julia session.
To run a Julia script with the packages from the environment, navigate to the project directory and run:
julia --project=. path_to_script/myscript.jl
The –project flag ensures that Julia uses the dependencies from the current project environment. Of course, this is the command you would put in your job script. Alternatively, you can add the lines
using Pkg
Pkg.activate(".”)
at the beginning of your script.
Can I use docker images?¶
On Bora we have apptainer as a software to run containers. You can load it with
module load apptainer
Docker images are compatible with apptainer, check out this page for instructions to use them with apptainer.
How can I submit a job on a specific node?¶
Typically, you should let the scheduler find the first available node for your job. If you need specific resources (GPUs, large amount of RAM, …) check out the user guide to configure your job accordingly.
How can I use the Intel compiler?¶
To use the Intel compilers (ifort
and icc
) and the MKL libraries
module intel-oneapi-compilers
module intel-oneapi-mkl
You can put this command in your ~/.bashrc
file, so that it is executed every time you log in.
Can squeue print the number of cores used by jobs?¶
Add this to your ~/.bashrc
file
alias squeue='squeue -o "%.7i %.9P %.8j %.8u %.2t %.10M %.6D %C %R"'
Log out, log in again and type squeue
How do I get the number of idle cores in the cluster?¶
Use the following command
queue -o "%t %C" | awk "BEGIN{a=0}/R/{a=a+\$2}END{print 216-a}"