Project

General

Profile

Actions

Wiki

To run PARTONS on the farm we need to do is to create a singularity container, follow these steps
  • Set the environment and load the appropriate modules
    source /site/env/syscshrc
    module load singularity/3.9.5
  • Build the container:
    singularity build --sandbox partons_singularity docker://partons/partons
  • The previous command with create a new folder called "partons_singularity". To run the container do:
    singularity shell --writable partons_singularity
  • Now your terminal has changed. You can find PARTONS' folders in /root/workspace/
  • For instance, to run an example inside the container you can do:
    cd /root/workspace/partons-example/
    ./bin/PARTONS_example data/examples/gpd/computeSingleKinematicsForGPD.xml
  • To run partons using a .xml outside the container (I am using computeSingleKinematicsForGPD.xml), we need to bind the folder on host to a folder on the container.
    1. I create a folder where the xml files are going to be linked on the container.
    mkdir partons_singularity/root/workspace/partons-example/input

    2. Create a script with the commands to run. I call it "order". The content of my file named "order" is:
    cd /root/workspace/partons-example/
    ./bin/PARTONS_example "path_to_xml_file"

    The script will change working directory on the container and will execute PARTONS.
    This script has to be located in your home directory (or any other mounted location e.g. input folder) and you need to give permissions using chmod 755 ~/order

    3. Then, execute PARTONS binding the folder containing the .xml file (on host) to the folder you have have just created (I created the folder input in the current location):
    singularity exec --writable --bind ./input/:/root/workspace/partons-example/input/ partons_singularity/ ./order

    where the "path_to_xml_file" will be "input/computeSingleKinematicsForGPD.xml"

    For completeness, notice that the "order" file contains the following lines:
    cd /root/workspace/partons-example/
    ./bin/PARTONS_example input/computeSingleKinematicsForGPD.xml

    If you need to re-build the container and get the error "no space left on device", you just need to delete the folder .apptainer and .singularity in your home directory
    If you get the error
    ./bin/PARTONS_example: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory.
    Do
    strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

To run EpIC, just copy the file epic_partons.tar.xz to the desired location and extract it with tar -xf
  • singularity shell --writable --containall epic_partons (to enter the container)
  • singularity exec --writable --containall --bind ./test/:/work/workspace/epic/test/ epic_partons run.sh (to bind a folder and use it as executable)

A EpIC.txt file is left to guide the creation of the singularity container.
All libraries to be installed have to be done on a local computer with sudo permissions.
All commands have to be executed inside the container.

Some important links
https://partons.cea.fr
https://pawelsznajder.github.io/epic/
https://docs.sylabs.io/guides/3.0/user-guide/build_a_container.html
https://docs.sylabs.io/guides/2.6/user-guide/singularity_and_docker.html
https://singularity-tutorial.github.io/02-basic-usage/

Updated by Juan Alvarado 8 months ago ยท 9 revisions