Commit ba6cec7d authored by Lukáš Krupčík's avatar Lukáš Krupčík
Browse files

add singularity it4i

parent 8745bac2
# 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
......@@ -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:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment