==== Singularity ==== Singularity has been replaced by [[calcoloscientifico:userguide:apptainer|Apptainer]]. The following section contains **outdated** information === CityChrone === [[http://project-osrm.org|CityChrone Project]] == CityChrone from Rocky 8.5 docker == Singularity Definition File: BootStrap: docker From: rockylinux:8.5 %environment export PATH=/miniconda3/bin:$PATH %runscript exec vcontact "$@" %post dnf -y update dnf -y install scl-utils dnf -y install gcc-toolset-9 scl enable gcc-toolset-9 bash dnf -y install git cmake3 zlib-devel wget # Install miniconda wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh -b -f -p /miniconda3/ rm Miniconda3-latest-Linux-x86_64.sh # pull the conda functions in . /miniconda3/etc/profile.d/conda.sh and make pip, etc. available while in %post export PATH="/miniconda3/bin:$PATH" # CONDA install conda install \ --yes \ --channel conda-forge \ --strict-channel-priority \ pandas matplotlib folium gdal jupyter numba colorama geopy shapely tqdm pymongo geojson protobuf pyproj # Help conda resolving Python "import" conda update --all # PIP install pip install \ --no-deps \ gtfs-realtime-bindings pyspark mpire # OSRM git clone https://github.com/Project-OSRM/osrm-backend.git cd osrm-backend mkdir -p build cd build cmake3 .. -DENABLE_MASON=ON -DCMAKE_CXX_COMPILER=/opt/rh/gcc-toolset-9/root/usr/bin/g++ make make install Singularity Build script: #!/bin/bash module load singularity/3.8.6 export SINGULARITY_CACHEDIR="/node/$USER/singularity/.singularity_cache" export SINGULARITY_PULLFOLDER="/node/$USER/singularity/.singularity_images" export SINGULARITY_TMPDIR="/node/$USER/singularity/.singularity_tmp" export SINGULARITY_LOCALCACHEDIR="/node/$USER/singularity/.singularity_localcache" export TMPDIR="/node/$USER/singularity/.tmp" mkdir -p "$SINGULARITY_CACHEDIR" mkdir -p "$SINGULARITY_PULLFOLDER" mkdir -p "$SINGULARITY_TMPDIR" mkdir -p "$SINGULARITY_LOCALCACHEDIR" mkdir -p "$TMPDIR" singularity build --fakeroot "/node/$USER/singularity/citychrone-rocky-8.5.sif" citychrone-rocky-8.5.def mv "/node/$USER/singularity/citychrone-rocky-8.5.sif" . Singularity Run script: #!/bin/bash module load singularity/3.8.6 singularity shell citychrone-rocky-8.5.sif Interactive session: srun --nodes=1 --ntasks-per-node=2 --partition=cpu --mem=8G --time=02:00:00 --pty bash Launch Singularity Build script: bash singularity-build-rocky-8.5.sh Launch Singularity Run script: bash singularity-run-rocky-8.5.sh == CityChrone from Ubuntu Focal (20.04 LTS) docker == Singularity Definition File: BootStrap: docker From: ubuntu:focal %environment export PATH=/miniconda3/bin:$PATH export DEBIAN_FRONTEND=noninteractive export TZ='Europe/Rome' %runscript exec vcontact "$@" %post DEBIAN_FRONTEND=noninteractive TZ='Europe/Rome' ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone apt-get update && \ apt-get install -y automake build-essential bzip2 wget git default-jre unzip \ build-essential git cmake pkg-config \ libbz2-dev libstxxl-dev libstxxl1v5 libxml2-dev \ libzip-dev libboost-all-dev lua5.2 liblua5.2-dev libtbb-dev # Install miniconda wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh -b -f -p /miniconda3/ rm Miniconda3-latest-Linux-x86_64.sh # pull the conda functions in . /miniconda3/etc/profile.d/conda.sh and make pip, etc. available while in %post export PATH="/miniconda3/bin:$PATH" # CONDA install conda install \ --yes \ --channel conda-forge \ --strict-channel-priority \ pandas matplotlib folium gdal jupyter numba colorama geopy shapely tqdm pymongo geojson protobuf pyproj # Help conda resolving Python "import" conda update --all # PIP install pip install \ --no-deps \ gtfs-realtime-bindings pyspark mpire # OSRM git clone https://github.com/Project-OSRM/osrm-backend.git cd osrm-backend mkdir -p build cd build cmake .. -DCMAKE_BUILD_TYPE=Release cmake --build . cmake --build . --target install Singularity Build script: #!/bin/bash module load singularity/3.8.6 export SINGULARITY_CACHEDIR="/node/$USER/singularity/.singularity_cache" export SINGULARITY_PULLFOLDER="/node/$USER/singularity/.singularity_images" export SINGULARITY_TMPDIR="/node/$USER/singularity/.singularity_tmp" export SINGULARITY_LOCALCACHEDIR="/node/$USER/singularity/.singularity_localcache" export TMPDIR="/node/$USER/singularity/.tmp" mkdir -p "$SINGULARITY_CACHEDIR" mkdir -p "$SINGULARITY_PULLFOLDER" mkdir -p "$SINGULARITY_TMPDIR" mkdir -p "$SINGULARITY_LOCALCACHEDIR" mkdir -p "$TMPDIR" singularity build --fakeroot "/node/$USER/singularity/citychrone-ubuntu-focal.sif" citychrone-ubuntu-focal.def mv "/node/$USER/singularity/citychrone-ubuntu-focal.sif" . Singularity Run script: #!/bin/bash module load singularity/3.8.6 singularity shell citychrone-ubuntu-focal.sif Interactive session: srun --nodes=1 --ntasks-per-node=2 --partition=cpu --mem=8G --time=02:00:00 --pty bash Launch Singularity Build script: bash singularity-build-ubuntu-focal.sh Launch Singularity Run script: bash singularity-run-ubuntu-focal.sh