diff --git a/docs.it4i/software/tools/singularity-it4i.md b/docs.it4i/software/tools/singularity-it4i.md new file mode 100644 index 0000000000000000000000000000000000000000..5e2bd36db9476ce8e612c031c31d296cecd7e22e --- /dev/null +++ b/docs.it4i/software/tools/singularity-it4i.md @@ -0,0 +1,187 @@ +# Singularity on IT4Innovations + +On clusters we have different versions of operating systems images. Below you see the available operating systems images. + +```console + Salomon Anselm + ├── CentOS ├── CentOS + │ ├── 6.9 │ ├── 6.9 + │ ├── 6.9-shell │ ├── 6.9-shell + │ ├── 6.9-MIC │ ├── 6.9-GPU + │ ├── 6.9-MIC-shell │ ├── 6.9-GPU-shell + │ ├── 7.3 │ ├── 7.3 + │ └── 7.3-shell │ └── 7.3-shell + ├── Debian ├── Debian + │ ├── 8.0 │ ├── 8.0 + │ └── 8.0-shell │ └── 8.0-shell + ├── Fedora ├── Fedora + │ ├── 26 │ ├── 26 + │ └── 26-shell │ └── 26-shell + └── Ubuntu └── Ubuntu + ├── 16.04 ├── 16.04 + └── 16.04-shell └── 16.04-shell +``` + +For current information on available images, refer to the `ml av` statement and the `OS` + +## Available operating systems images + +**Supported OS:** + +* CentOS +* Debian +* Ubuntu +* Fedora + +**Supported features:** + +* GPU - graphics cards +* MIC - Intel Xeon Phi cards + +**Type images** + +* classic +* shell - automatics start shell after load module + +## IT4Innovations wrappers + +For using modules we prepared special wrappers + +* image-exec +* image-load +* image-mpi +* image-run +* image-shell +* image-update + +**image-exec** + +Open image and run command into image. + +```console +$ ml CentOS/7.3 +Your image of CentOS/7.3 is at location: /home/kru0052/.singularity/images/CentOS-7.3_20180220104046.img +image-exec cat /etc/centos-release +CentOS Linux release 7.3.1708 (Core) +``` + +**image-load** + +Settings and loading image. Script for `shell` modules. + +**image-mpi** + +MPI wrapper. More in the chapter [Examples MPI](#MPI) + +**image-run** + +Run subscript into image + +**image-shell** + +Start shell into image. + +```console +$ ml CentOS/7.3 +$ image-shell +Singularity: Invoking an interactive shell within container... + +Singularity CentOS-7.3_20180220104046.img:~> +``` + +**image-update** + +If a new image exists, it informs the user and offers an update. + +```console +$ ml CentOS/6.9 +New version of CentOS image was found. (New: CentOS-6.9_20180220092823.img Old: CentOS-6.9_20170220092823.img) +For updating image use: image-update +Your image of CentOS/6.9 is at location: /home/login/.singularity/images/CentOS-6.9_20170220092823.img +$ image-update +New version of CentOS image was found. (New: CentOS-6.9_20180220092823.img Old: CentOS-6.9_20170220092823.img) +Do you want to update local copy? (WARNING all user modification will be deleted) [y/N]: y +Updating image CentOS-6.9_20180220092823.img + 2.71G 100% 199.49MB/s 0:00:12 (xfer#1, to-check=0/1) + +sent 2.71G bytes received 31 bytes 163.98M bytes/sec +total size is 2.71G speedup is 1.00 +New version is ready. (/home/login/.singularity/images/CentOS-6.9_20180220092823.img) +``` + +## Examples + +In next examples, we will be using Singularity images on clusters. + +### Load image + +For classic image + +```console +$ ml CentOS/6.9 +Your image of CentOS/6.9 is at location: /home/login/.singularity/images/CentOS-6.9_20180220133305.img +``` + +!!! note + First usage image copy image from /apps/all/OS/... to your /home (.singularity/images) + +For classic image, but autostart shell + +```console +$ ml CentOS/6.9-shell +Singularity: Invoking an interactive shell within container... + +Singularity CentOS-6.9_20180220133305.img:> exit +exit +Welcome to the normal operating system () +``` + +For special image (GPU, MIC) + +```console +$ ml CentOS/6.9-GPU + +``` + +!!! note + For GPU image, you must allocate node with GPU card and for MIC image, you must allocate node with MIC cards. + +### MPI + +Submited job `qsub -A PROJECT -q qprod -l select=2:mpiprocs=24 -l walltime=00:30:00 -I` + +### MPI into image + +```console +$ ml CentOS/6.9-shell +Singularity: Invoking an interactive shell within container... + +Singularity CentOS-6.9_20180220092823.img:~> mpirun hostname | wc -l +24 +``` + +!!! warning + You allocate two nodes, but MPI into image use only one node. + +### MPI outside image + +```console +$ ml CentOS/6.9 +Your image of CentOS/6.9 is at location: /home/kru0052/.singularity/images/CentOS-6.9_20180220092823.img +$ image-mpi hostname | wc -l +48 +``` + +## Use own image on cluster + +1. Prepare image into your local computer +1. Transfer image to your `/home` (for example `.singularity/image`) +1. Load module Singularity (`ml Singularity`) +1. Use your image + +## Edit IT4Innovations image + +1. Transfer image to your local computer +1. Edit image +1. Load module Singularity (`ml Singularity`) +1. Use your image diff --git a/mkdocs.yml b/mkdocs.yml index 3469d53c0b8d4f53edbe94c501b7e7194955a8db..9fe10480490bfd597aeb090adf344573a66d8a30 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -158,7 +158,9 @@ pages: - Setting License Preferences: software/tools/ansys/licensing.md - Licensing and Available Versions: software/tools/ansys/setting-license-preferences.md - EasyBuild: software/tools/easybuild.md - - Singularity Container: software/tools/singularity.md + - Singularity Container: + - Singularity: software/tools/singularity.md + - Singularity on IT4Innovations: software/tools/singularity-it4i.md - Spack: software/tools/spack.md - Virtualization: software/tools/virtualization.md - Visualisation: