Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
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