Project

General

Profile

Wiki » History » Version 5

Juan Alvarado, 04/22/2023 07:23 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
 3. Then, execute PARTONS binding the folder containing the .xml file (on host) to the folder you have have just created:
32
 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/