This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
research:containers [2019/02/27 11:42] itshililo [Using Singularity on Lengau Cluster] |
research:containers [2021/12/09 16:42] (current) |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Singularity in a Nutshell ====== | + | ======Singularity in a Nutshell====== |
| - | + | ||
| - | Singularity is a container solution created for scientific and application workloads. The objective of this guide is to demonstrate how to use Singularity on the CHPC Lengau cluster. | + | |
| - | + | ||
| - | The diagram below is a visual depiction of the Singularity work-flow process. This process can be categorised into two environments: | + | |
| - | * **Build** environment: | + | |
| - | * **Production** environment where users run containers. E.g (Lengau Cluster) | + | |
| - | + | ||
| - | For more details please read the user manual: [[https:// | + | |
| - | + | ||
| - | {{ : | + | |
| - | + | ||
| - | Based on the image above, it is clear that the CHPC Lengau cluster will only provide a production (container execution) environment for the Singularity workflow. Therefore, users are only allowed to run already built containers images on this platform. | + | |
| - | + | ||
| - | + | ||
| - | **NB:** Please note that the computes nodes on Lengau do not have access to the internet, which means that users will not be able to use the Singularity **pull** command. However, users can use the **scp.chpc.ac.ca** node to facilitate the transfer of images to and from the platform. | + | |
| - | + | ||
| - | ==== Using Singularity on Lengau Cluster ==== | + | |
| - | Using Singularity on Lengau can be summarised as a two-stage process: | + | |
| - | - **Transferring images to the Lengau cluster:** Users can use cp, SCP, rsync or FTP to copy their images on the cluster using the node://** scp.chpc.ac.za**// | + | |
| - | - **Container Execution** Users can only interact with the computes nodes through the scheduler using the **qsub** command. Users also need to load the chpc/ | + | |
| - | + | ||
| - | === Singularity: | + | |
| - | Below is an example of a recipe file for building a Centos-7 image and installing mpich-3.2.1 inside that image. | + | |
| - | + | ||
| - | BootStrap: yum | + | |
| - | OSVersion: 7 | + | |
| - | MirrorURL: http:// | + | |
| - | Include: yum | + | |
| - | UpdateURL: http:// | + | |
| - | %runscript | + | |
| - | echo "This build MVAPICH onto the base Centos7" | + | |
| - | %post | + | |
| - | echo -e " | + | |
| - | yum -y install vim wget bzip2 git unzip | + | |
| - | yum -y groupinstall " | + | |
| - | yum -y groupinstall " | + | |
| - | yum -y update | + | |
| - | echo -e " | + | |
| - | pushd /tmp | + | |
| - | if [ ! -f / | + | |
| - | wget http:// | + | |
| - | fi | + | |
| - | tar -xf mpich-3.2.1.tar.gz | + | |
| - | cd mpich-3.2.1 | + | |
| - | ./configure --prefix=/ | + | |
| - | make -j 4 | + | |
| - | make install | + | |
| - | mpicc examples/ | + | |
| - | popd | + | |
| - | rm -rf / | + | |
| - | echo -e " | + | |
| - | cd /tmp | + | |
| - | if [ ! -f / | + | |
| - | wget https:// | + | |
| - | fi | + | |
| - | unzip gh-pages.zip | + | |
| - | cd mpitutorial-gh-pages/ | + | |
| - | make clean | + | |
| - | make | + | |
| - | cp mpi_hello_world / | + | |
| - | %runscript | + | |
| - | # used with singularity run | + | |
| - | echo " | + | |
| - | exec hellow | + | |
| - | # Alternative mpi singularity run | + | |
| - | echo " | + | |
| - | exec mpi_hello_world | + | |
| + | Moved to [[howto: | ||