Skip to content
Snippets Groups Projects
Commit ba6cec7d authored by Lukáš Krupčík's avatar Lukáš Krupčík
Browse files

add singularity it4i

parent 8745bac2
No related branches found
No related tags found
6 merge requests!368Update prace.md to document the change from qprace to qprod as the default...,!367Update prace.md to document the change from qprace to qprod as the default...,!366Update prace.md to document the change from qprace to qprod as the default...,!323extended-acls-storage-section,!196Master,!187Singularity
# 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:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment