Project

General

Profile

Wiki » History » Revision 8

Revision 7 (Juan Alvarado, 04/22/2023 07:49 PM) → Revision 8/9 (Juan Alvarado, 07/26/2023 03:53 PM)

h1. 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) 
 

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