Wiki » History » Version 9
Juan Alvarado, 09/01/2023 05:42 AM
| 1 | 1 | Alexandre Camsonne | h1. Wiki |
|---|---|---|---|
| 2 | |||
| 3 | 2 | Juan Alvarado | To run PARTONS on the farm we need to do is to create a singularity container, follow these steps |
| 4 | * Set the environment and load the appropriate modules |
||
| 5 | source /site/env/syscshrc |
||
| 6 | module load singularity/3.9.5 |
||
| 7 | 1 | Alexandre Camsonne | |
| 8 | 2 | Juan Alvarado | * Build the container: |
| 9 | singularity build --sandbox partons_singularity docker://partons/partons |
||
| 10 | 1 | Alexandre Camsonne | |
| 11 | 2 | Juan Alvarado | * The previous command with create a new folder called "partons_singularity". To run the container do: |
| 12 | singularity shell --writable partons_singularity |
||
| 13 | 1 | Alexandre Camsonne | |
| 14 | 2 | Juan Alvarado | * Now your terminal has changed. You can find PARTONS' folders in /root/workspace/ |
| 15 | |||
| 16 | 3 | Juan Alvarado | * For instance, to run an example inside the container you can do: |
| 17 | 2 | Juan Alvarado | cd /root/workspace/partons-example/ |
| 18 | ./bin/PARTONS_example data/examples/gpd/computeSingleKinematicsForGPD.xml |
||
| 19 | 1 | Alexandre Camsonne | |
| 20 | 3 | Juan Alvarado | * 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. |
| 21 | 1. I create a folder where the xml files are going to be linked on the container. |
||
| 22 | mkdir partons_singularity/root/workspace/partons-example/input |
||
| 23 | |||
| 24 | 2. Create a script with the commands to run. I call it "order". The content of my file named "order" is: |
||
| 25 | cd /root/workspace/partons-example/ |
||
| 26 | ./bin/PARTONS_example "path_to_xml_file" |
||
| 27 | 1 | Alexandre Camsonne | |
| 28 | 3 | Juan Alvarado | The script will change working directory on the container and will execute PARTONS. |
| 29 | 5 | Juan Alvarado | 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 |
| 30 | 3 | Juan Alvarado | |
| 31 | 6 | Juan Alvarado | 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): |
| 32 | 3 | Juan Alvarado | singularity exec --writable --bind ./input/:/root/workspace/partons-example/input/ partons_singularity/ ./order |
| 33 | |||
| 34 | where the "path_to_xml_file" will be "input/computeSingleKinematicsForGPD.xml" |
||
| 35 | |||
| 36 | For completeness, notice that the "order" file contains the following lines: |
||
| 37 | cd /root/workspace/partons-example/ |
||
| 38 | ./bin/PARTONS_example input/computeSingleKinematicsForGPD.xml |
||
| 39 | 4 | Juan Alvarado | |
| 40 | |||
| 41 | 7 | Juan Alvarado | 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 |
| 42 | 8 | Juan Alvarado | If you get the error |
| 43 | ./bin/PARTONS_example: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory. |
||
| 44 | Do |
||
| 45 | strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 |
||
| 46 | 7 | Juan Alvarado | |
| 47 | |||
| 48 | To run EpIC, just copy the file epic_partons.tar.xz to the desired location and extract it with tar -xf |
||
| 49 | * singularity shell --writable --containall epic_partons (to enter the container) |
||
| 50 | * singularity exec --writable --containall --bind ./test/:/work/workspace/epic/test/ epic_partons run.sh (to bind a folder and use it as executable) |
||
| 51 | 9 | Juan Alvarado | |
| 52 | A EpIC.txt file is left to guide the creation of the singularity container. |
||
| 53 | All libraries to be installed have to be done on a local computer with sudo permissions. |
||
| 54 | All commands have to be executed inside the container. |
||
| 55 | 7 | Juan Alvarado | |
| 56 | |||
| 57 | 3 | Juan Alvarado | |
| 58 | 2 | Juan Alvarado | *Some important links* |
| 59 | 1 | Alexandre Camsonne | https://partons.cea.fr |
| 60 | 7 | Juan Alvarado | https://pawelsznajder.github.io/epic/ |
| 61 | 2 | Juan Alvarado | https://docs.sylabs.io/guides/3.0/user-guide/build_a_container.html |
| 62 | https://docs.sylabs.io/guides/2.6/user-guide/singularity_and_docker.html |
||
| 63 | https://singularity-tutorial.github.io/02-basic-usage/ |