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/ |