@@ -138,7 +138,7 @@ podman exec -it iowarp bash
138
138
139
139
</TabItem >
140
140
141
- <TabItem value = " docker-user" label = " Manual Docker (Any)" >
141
+ <TabItem value = " docker-user" label = " Docker (Any)" >
142
142
143
143
### Clone the IOWarp Install Repo
144
144
@@ -147,6 +147,14 @@ cd ${HOME}
147
147
git clone https://github.com/iowarp/iowarp-install.git
148
148
```
149
149
150
+ <Tabs >
151
+ <TabItem value = " pull" label = " Pull" default >
152
+ ### Pull prebuilt containers
153
+ ``` bash
154
+ docker pull iowarp/iowarp-user:latest
155
+ ```
156
+ </TabItem >
157
+ <TabItem value = " manual" label = " Manual" default >
150
158
### Create the containers
151
159
152
160
``` bash
@@ -164,17 +172,18 @@ docker tag iowarp-deps iowarp/iowarp-deps:latest
164
172
docker build --no-cache -t iowarp-user . -f iowarp-user.Dockerfile
165
173
docker tag iowarp-user iowarp/iowarp-user:latest
166
174
```
175
+ </TabItem >
176
+ </Tabs >
167
177
168
- ### Create Docker Compose File
178
+ ### Run the container
169
179
170
180
``` bash
171
- mkdir ~ /iowarp-docker
172
- cd ~ /iowarp-docker
173
- nano docker-compose.yml
181
+ cd ~ /iowarp-install/ docker/user
182
+ docker compose up -d # Only for recent dockers
183
+ docker-compose up -d # Only for older dockers
174
184
```
175
185
176
- Add the following:
177
-
186
+ For reference, the user docker-compose.yml contains:
178
187
``` yaml
179
188
services :
180
189
iowarp :
@@ -187,17 +196,17 @@ services:
187
196
network_mode : host
188
197
` ` `
189
198
190
- ### Run the container
199
+ ### Access the Container
191
200
192
201
` ` ` bash
193
- docker compose up -d # Only for recent dockers
194
- docker-compose up -d # Only for older dockers
202
+ docker exec -it iowarp bash
195
203
```
196
204
197
- ### Access the Container
198
-
205
+ ### Example test
206
+ The following will run an example iowarp unit test:
199
207
``` bash
200
- docker exec -it iowarp bash
208
+ cd ~ /iowarp-install/docker
209
+ docker build --no-cache -t iowarp-test . -f iowarp-test.Dockerfile
201
210
```
202
211
203
212
</TabItem >
@@ -215,13 +224,13 @@ PPI, or some other runtime plugin.
215
224
### Project Environment
216
225
217
226
Decide on where you want to place your iowarp repos.
218
- This guide will assume you have set a variable named IOWARP_PKGS .
227
+ This guide will assume you have set a variable named IOWARP .
219
228
220
229
``` bash
221
- export IOWARP_PKGS =" ${HOME} "
230
+ export IOWARP =" ${HOME} "
222
231
```
223
232
224
- Set IOWARP_PKGs to where you want your packages.
233
+ Set IOWARP to where you want your packages.
225
234
226
235
NOTE: This variable needs to be reset for every new terminal.
227
236
On Linux, you could add the above command to your ` ~/.bashrc `
@@ -230,14 +239,14 @@ to automate.
230
239
### Clone the IOWarp Spack Repo
231
240
232
241
``` bash
233
- cd ${IOWARP_PKGS }
242
+ cd ${IOWARP }
234
243
git clone https://github.com/iowarp/iowarp-install.git
235
244
```
236
245
237
246
### Clone the repos
238
247
239
248
``` bash
240
- cd ${IOWARP_PKGS }
249
+ cd ${IOWARP }
241
250
git clone https://github.com/iowarp/cte-hermes-shm.git
242
251
git clone https://github.com/iowarp/iowarp-runtime
243
252
git clone https://github.com/iowarp/content-transfer-engine.git
@@ -272,7 +281,7 @@ source ~/.bashrc
272
281
#### Add iowarp to spack
273
282
274
283
``` bash
275
- spack repo add ${IOWARP_PKGS } /iowarp-install/iowarp-spack
284
+ spack repo add ${IOWARP } /iowarp-install/iowarp-spack
276
285
```
277
286
278
287
#### Install Dependencies
@@ -292,36 +301,50 @@ that streamline the installation of our tools.
292
301
293
302
<TabItem value = " docker-dev" label = " Dockerfiles (Any)" >
294
303
295
- #### Build Containers
304
+ <Tabs >
305
+ <TabItem value = " pull" label = " Pull" default >
306
+ #### Pull prebuilt containers
307
+ ``` bash
308
+ docker pull iowarp/iowarp-user:latest
309
+ ```
310
+ </TabItem >
311
+ <TabItem value = " manual" label = " Manual" default >
312
+ #### Create the containers
296
313
297
314
``` bash
315
+ cd ~ /iowarp-install/docker
298
316
# iowarp-base
299
317
docker build --no-cache -t iowarp-base . -f iowarp-base.Dockerfile
300
318
docker tag iowarp-base iowarp/iowarp-base:latest
301
319
# iowarp-deps-spack
302
320
docker build --no-cache -t iowarp-deps-spack . -f iowarp-deps-spack.Dockerfile
303
321
docker tag iowarp-deps-spack iowarp/iowarp-deps-spack:latest
322
+ ```
323
+ </TabItem >
324
+ </Tabs >
325
+
326
+ #### Build Dependency Container
327
+
328
+ We will rebuild this container so that jarvis introspects your machine:
329
+ ``` bash
304
330
# iowarp-deps
305
331
docker build --no-cache -t iowarp-deps . -f iowarp-deps.Dockerfile
306
332
docker tag iowarp-deps iowarp/iowarp-deps:latest
307
- # iowarp-user
308
- docker build --no-cache -t iowarp-user . -f iowarp-user.Dockerfile
309
- docker tag iowarp-user iowarp/iowarp-user:latest
310
333
```
311
334
312
335
#### Launch Docker Compose
313
336
314
337
``` bash
315
- mkdir -p ${IOWARP_PKGS } /docker
316
- cp -r ${IOWARP_PKGS } /iowarp-install/docker/development ${IOWARP_PKGS } /docker
317
- cd ${IOWARP_PKGS } /docker/development
338
+ mkdir -p ${IOWARP } /docker
339
+ cp -r ${IOWARP } /iowarp-install/docker/development ${IOWARP } /docker
340
+ cd ${IOWARP } /docker/development
318
341
# Copy-paste the above into the file
319
342
docker compose up -d # Only for recent dockers
320
343
docker-compose up -d # Only for older dockers
321
344
```
322
345
323
- Feel free to edit ` ${IOWARP_PKGS }/docker/development/docker-compose.yml ` .
324
- It assumes the environment variable ` ${IOWARP_PKGS } ` is set.
346
+ Feel free to edit ` ${IOWARP }/docker/development/docker-compose.yml ` .
347
+ It assumes the environment variable ` ${IOWARP } ` is set.
325
348
326
349
NOTE: ` shm_size ` and ` mem_limit ` are set to 8GB. Feel free to increase or decrease
327
350
that value.
@@ -356,11 +379,11 @@ Make sure to try and update all your packages:
356
379
``` bash
357
380
cd ~ /iowarp-install
358
381
git pull
359
- cd ${IOWARP_PKGS } /cte-hermes-shm
382
+ cd ${IOWARP } /cte-hermes-shm
360
383
git pull
361
- cd ${IOWARP_PKGS } /iowarp-runtime
384
+ cd ${IOWARP } /iowarp-runtime
362
385
git pull
363
- cd ${IOWARP_PKGS } /content-transfer-engine
386
+ cd ${IOWARP } /content-transfer-engine
364
387
git pull
365
388
```
366
389
@@ -370,18 +393,18 @@ If you find that things are failing to build for you
370
393
after an update, try destroying all build directories.
371
394
372
395
``` bash
373
- cd ${IOWARP_PKGS } /cte-hermes-shm
396
+ cd ${IOWARP } /cte-hermes-shm
374
397
rm -rf build
375
- cd ${IOWARP_PKGS } /iowarp-runtime
398
+ cd ${IOWARP } /iowarp-runtime
376
399
rm -rf build
377
- cd ${IOWARP_PKGS } /content-transfer-engine
400
+ cd ${IOWARP } /content-transfer-engine
378
401
rm -rf build
379
402
```
380
403
381
404
### Hermes-SHM
382
405
383
406
``` bash
384
- cd ${IOWARP_PKGS } /cte-hermes-shm
407
+ cd ${IOWARP } /cte-hermes-shm
385
408
scspkg create hermes_shm
386
409
mkdir build
387
410
cd build
@@ -399,15 +422,15 @@ fork instead of cloning directly. The following will allow
399
422
you to keep your fork updated with changes to the global repo.
400
423
401
424
``` bash
402
- cd ${IOWARP_PKGS } /cte-hermes-shm
425
+ cd ${IOWARP } /cte-hermes-shm
403
426
git remote add iowarp https://github.com/iowarp/cte-hermes-shm.git
404
427
git pull iowarp
405
428
```
406
429
407
430
### IOWarp Runtime: Chimaera
408
431
409
432
``` bash
410
- cd ${IOWARP_PKGS } /iowarp-runtime
433
+ cd ${IOWARP } /iowarp-runtime
411
434
scspkg create iowarp_runtime
412
435
module unload iowarp_runtime
413
436
module load hermes_shm
@@ -423,15 +446,15 @@ fork instead of cloning directly. The following will allow
423
446
you to keep your fork updated with changes to the global repo.
424
447
425
448
``` bash
426
- cd ${IOWARP_PKGS } /iowarp-runtime
449
+ cd ${IOWARP } /iowarp-runtime
427
450
git remote add iowarp https://github.com/iowarp/iowarp-runtime
428
451
git pull iowarp
429
452
```
430
453
431
454
### Content-Transfer-Engine: Hermes
432
455
433
456
``` bash
434
- cd ${IOWARP_PKGS } /content-transfer-engine
457
+ cd ${IOWARP } /content-transfer-engine
435
458
scspkg create cte
436
459
module unload cte
437
460
module load hermes_shm iowarp_runtime
@@ -447,7 +470,7 @@ fork instead of cloning directly. The following will allow
447
470
you to keep your fork updated with changes to the global repo.
448
471
449
472
``` bash
450
- cd ${IOWARP_PKGS } /content-transfer-engine
473
+ cd ${IOWARP } /content-transfer-engine
451
474
git remote add iowarp https://github.com/iowarp/content-transfer-engine.git
452
475
git pull iowarp
453
476
```
0 commit comments