Wiki » History » Version 6
Juan Alvarado, 04/22/2023 07:27 PM
| 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 | 5 | 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 | 4 | Juan Alvarado | |
| 43 | 3 | Juan Alvarado | |
| 44 | 2 | Juan Alvarado | *Some important links* |
| 45 | https://partons.cea.fr |
||
| 46 | https://docs.sylabs.io/guides/3.0/user-guide/build_a_container.html |
||
| 47 | https://docs.sylabs.io/guides/2.6/user-guide/singularity_and_docker.html |
||
| 48 | https://singularity-tutorial.github.io/02-basic-usage/ |