Skip to content

Commit cc02981

Browse files
authored
Merge pull request #81 from singularityware/docs/2.3
Docs/2.3
2 parents 887c721 + f7327b0 commit cc02981

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+64883
-609
lines changed

Gemfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
source "https://rubygems.org"
22

3-
# gem "rails"
3+
#gem "rails"
44
gem 'github-pages'
5-
gem 'jekyll'
5+
gem 'jekyll'

_data/sidebars/user_docs.yml

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,26 @@ entries:
1919
url: /docs-quick-start-installation
2020
output: web, pdf
2121

22+
- title: Create an Image
23+
url: /create-image
24+
output: web, pdf
25+
2226
- title: Bootstrap an Image
2327
url: /bootstrap-image
2428
output: web, pdf
2529

26-
- title: Create an Image
27-
url: /create-image
30+
- title: Adding Content
31+
url: /docs-content
2832
output: web, pdf
2933

3034
- title: Bind Paths and Files
3135
url: /docs-mount
3236
output: web, pdf
3337

38+
- title: Environment and Metadata
39+
url: /docs-environment-metadata
40+
output: web, pdf
41+
3442
- title: Change an Existing Container
3543
url: /docs-changing-containers
3644
output: web, pdf
@@ -67,10 +75,18 @@ entries:
6775
url: /docs-import
6876
output: web, pdf
6977

70-
- title: shell
71-
url: /docs-shell
78+
- title: inspect
79+
url: /docs-inspect
80+
output: web, pdf
81+
82+
- title: pull
83+
url: /docs-pull
7284
output: web, pdf
7385

7486
- title: run
7587
url: /docs-run
7688
output: web, pdf
89+
90+
- title: shell
91+
url: /docs-shell
92+
output: web, pdf

_data/topnav.yml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,17 @@ topnav_dropdowns:
2626
url: /faq#troubleshooting
2727
- title: People
2828
folderitems:
29-
- title: LBNL
30-
external_url: http://www.lbl.gov/
31-
- title: Stanford
32-
external_url: https://srcc.stanford.edu/
29+
- title: Gregory M. Kurtzer
30+
external_url: https://github.com/gmkurtzer
31+
- title: Vanessa Sochat
32+
external_url: https://github.com/vsoch
33+
- title: Michael Bauer
34+
external_url: https://github.com/bauerm97
35+
- title: Brian Bockelman
36+
external_url: https://github.com/bbockelm
37+
- title: Complete Authors List
38+
external_url: https://github.com/singularityware/singularity/blob/master/AUTHORS
39+
3340

3441
## Topnav single links
3542
## if you want to list an external url, use external_url instead of url. the theme will apply a different link base.

_includes/gist.html

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<style>
2+
/* Better styles for embedding GitHub Gists */
3+
.gist{font-size:13px;line-height:20px;margin-bottom:20px;width:100%}
4+
.gist pre{font-family:Menlo,Monaco,'Bitstream Vera Sans Mono','Courier New',monospace !important}
5+
.gist-meta{font-family:Helvetica,Arial,sans-serif;font-size:13px !important}
6+
.gist-meta a{color:#26a !important;text-decoration:none}
7+
.gist-meta a:hover{color:#0e4071 !important}
8+
</style>
9+
<script src="https://gist.github.com/{{ include.username }}/{{ include.id }}.js?file={{ include.file }}"></script>

_includes/head.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010

1111
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
12+
<link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
1213
<!--<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">-->
1314
<link rel="stylesheet" href="{{ "assets/css/modern-business.css" }}">
1415
<link rel="stylesheet" href="{{ "assets/css/lavish-bootstrap.css" }}">

_layouts/page.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ <h1 class="post-title-main">{{ page.title }}</h1>
3636

3737
<!-- Previous and next buttons-->
3838
<div class="row" style="padding-top:30px; margin-bottom:10px"><div class="col-md-12">
39-
<a href="#"><button style="width:20%; height: 70px; float:left" class="hidden previous-button btn btn-lg btn-default">Previous</button></a>
40-
<a href="#"><button style="width:20%; height: 70px; float:right" class="hidden next-button btn btn-lg btn-default">Next</button></a>
39+
<a href="#"><button style="float:left" class="hidden previous-button btn btn-circle btn-default"><i class="fa-2x fa fa-angle-double-left"></i></button></a>
40+
<a href="#"><button style="float:right" class="hidden next-button btn btn-circle btn-default"><i class="fa fa-angle-double-right fa-2x"></i></button></a>
4141
</div></div>
4242

4343
<script>

_posts/news/2017-05-11-singularity-manuscript.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,13 @@ category: news
44
permalink: 2017-singularity-manuscript
55
---
66

7-
We are proud to announce that you can now <a href="http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0177459" target="_blank">cite Singularity proper</a>! Our recent publication in PLOS One can be cited as follows:
7+
We are proud to announce that we have <a href="http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0177459" target="_blank">published Singularity proper!</a> Please cite the Singularity software as:
88

99
```
1010
Kurtzer GM, Sochat V, Bauer MW (2017)
1111
Singularity: Scientific containers for mobility of compute.
1212
PLoS ONE 12(5): e0177459. https://doi.org/10.1371/journal.pone.0177459
1313
```
14-
15-
Thanks to all of our contributors and community for helping us clunky software folk properly put together this paper. Looking forward to more great things to come, woohoo!
14+
Woohoo!
1615

1716
{% include links.html %}
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
---
2+
title: "Using Host libraries: GPU drivers and OpenMPI BTLs"
3+
category: recipes
4+
permalink: tutorial-gpu-drivers-open-mpi-mtls
5+
---
6+
7+
Singularity does a fantastic job of isolating you from the host so you don't
8+
have to muck about with `LD_LIBRARY_PATH`, you just get exactly the library
9+
versions you want. However, in some situations you need to use library
10+
versions that match host exactly. Two common ones are NVIDIA gpu
11+
driver user-space libraries, and OpenMPI transport drivers for high performance
12+
networking. There are many ways to solve these problems. Some people build a container and
13+
copy the version of the libs (installed on the host) into the container.
14+
15+
{% include toc.html %}
16+
17+
## What We will learn today
18+
This document describes how to use a bind mount, symlinks and ldconfig so that when the host
19+
libraries are updated the container does not need to be rebuilt.
20+
21+
**Note** this tutorial is tested with Singularity <a href="https://github.com/singularityware/singularity/commit/945c6ee343a1e6101e22396a90dfdb5944f442b6" target="_blank">commit 945c6ee343a1e6101e22396a90dfdb5944f442b6</a>,
22+
which is part of the (current) development branch, and thus it should work with version 2.3
23+
when that is released. The version of OpenMPI used is 2.1.0 (versions above 2.1 should work).
24+
25+
## Environment
26+
27+
In our environment we run CentOS 7 hosts with:
28+
29+
1. slurm located on `/opt/slurm-<version>` and the slurm user `slurm`
30+
2. Mellanox network cards with drivers installed to `/opt/mellanox` (
31+
Specifically we run a RoCEv1 network for Lustre and MPI communications)
32+
3. NVIDIA GPUs with drivers installed to `/lib64`
33+
4. OpenMPI (by default) for MPI processes
34+
35+
## Creating your image
36+
Since we are building an ubuntu image, it may be easier to create an ubuntu VM
37+
to create the image. Alternatively you can follow the recipe
38+
<a href="/building-ubuntu-rhel-host" target="_blank"> here</a>.
39+
40+
Use the following def file to create the image.
41+
42+
{% include gist.html username='l1ll1' id='89b3f067d5b790ace6e6767be5ea2851' file='hostlibs.def' %}
43+
44+
The mysterious `wget` line gets a list of all the libraries that the CentOS host
45+
has in `/lib64` that *we* think its safe to use in the container. Specifically
46+
these are things like nvidia drivers.
47+
48+
{% include gist.html username='l1ll1' id='89b3f067d5b790ace6e6767be5ea2851' file='desired_hostlibs.txt' %}
49+
50+
Also note:
51+
52+
1. in `hostlibs.def` we create a slurm user. Obviously if your `SlurmUser` is different you should change this name.
53+
2. We make directories for `/opt` and `/usr/local/openmpi`. We're going to bindmount these from the host so we get all the bits of OpenMPI and Mellanox and Slurm that we need.
54+
55+
56+
## Executing your image
57+
On our system we do:
58+
59+
```
60+
SINGULARITYENV_LD_LIBRARY_PATH=/usr/local/openmpi/2.1.0-gcc4/lib:/opt/munge-0.5.11/lib:/opt/slurm-16.05.4/lib:/opt/slurm-16.05.4/lib/slurm:/desired_hostlibs:/opt/mellanox/mxm/lib/
61+
export SINGULARITYENV_LD_LIBRARY_PATH
62+
```
63+
64+
then
65+
66+
```
67+
srun singularity exec -B /usr/local/openmpi:/usr/local/openmpi -B /opt:/opt -B /lib64:/all_hostlibs hostlibs.img <path to binary>
68+
```

0 commit comments

Comments
 (0)