-
Notifications
You must be signed in to change notification settings - Fork 2
/
technology.html
154 lines (143 loc) · 9.97 KB
/
technology.html
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
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" >
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Rocky Mountain Summer Workshop on Uncertainty Quantification</title>
<style>
body {
background-color: #f5f5f5;
font-family: Helvetica, Arial, sans-serif;
}
.content-wrapper {
margin: 3em auto;
max-width: 940px;
}
.top-nav {
margin: 0;
padding: 0;
}
.top-nav-list {
background-color: #8a8a8a;
color: #fafafa;
display: inline-block;
padding: 0.5em 1em;
margin: 0.5em 0;
}
.top-nav-list:hover {
background-color: #a1a1a1;
}
.nav-link {
color: #fafafa;
text-decoration: none;
}
</style>
</head>
<body>
<div class="content-wrapper">
<h1>Rocky Mountain Summer Workshop on Uncertainty Quantification</h1>
<h2>University of Colorado Denver</h2>
<h3>July 15-17, 2015</h3>
<ul class="top-nav">
<li class="top-nav-list"><a class="nav-link" href="index.html">Home</a></li>
<li class="top-nav-list"><a class="nav-link" href="logistics.html">Logistics</a></li>
<li class="top-nav-list"><a class="nav-link" href="contacts.html">Contacts</a></li>
<li class="top-nav-list"><a class="nav-link" href="participants.html">Participants</a></li>
<li class="top-nav-list"><a class="nav-link" href="program.html">Program</a></li>
<li class="top-nav-list"><a class="nav-link" href="technology.html">Technology</a></li>
<li class="top-nav-list"><a class="nav-link" href="denver.html">Denver</a></li>
</ul>
<h2> Technology </h2>
<h3> Technology for Demos </h3>
<p> Each afternoon will have a series of interactive software demos. Each participant is expected to bring a laptop with them to work on the demos. Most of the demos will be done within a Docker container (see below). <b> Please download and install docker and the docker image for the workshop BEFORE the workshop begins.</b> If you have any issues installing Docker or pulling down the image, contact Steve Mattis ([email protected]).
</p>
<p>Wednesday afternoon will feature a series of error estimation demos. There are versions of these demos written in Matlab and Python. They are written in a way such that in-depth knowledge of these languages is not necessary to run them. If you have Matlab, that version of the demos should work on your local distribution of Matlab. You will need to download the <a href="ACES_RM_UQ.tar.gz"> ACES package</a>. A README and installation information can be found in the tarball. The Python version of the demos require a build of <a href="http://fenicsproject.org/">FEniCS</a> and several other packages. Because of the difficulty in trying to build all of these packages on individuals' personal machines, we have built a Docker environment (explained below) containing the necessary requirements. The Python demos can be run in the Docker containers easily on any machine. For vizualization of Python results we will use <a href="http://www.paraview.org/">Paraview</a>, so please install it on your machine before the workshop. The repo containing the demos may be found <a href="https://bitbucket.org/vcarey/rm-workshop">here</a>.
</p>
<p> Thursday afternoon will feature a demo of <a href="http://libqueso.com/">QUESO</a>. QUESO is built within the provided Docker image.
</p>
<p>
Friday afternoon will feature a demo of <a href="http://ut-chg.github.io/BET/index.html">BET</a>. BET is also built within the provided Docker image.
</p>
<h3 id="docker-for-rmswuq">Docker for RMSWUQ</h3>
<p>We will use Docker for many of the demos at the workshop. Docker is an open-source project that automates the deployment of applications inside software containers via operation-system-level virtualization. This allows individiuals with different types of systems to all run with the same virtual environment. </p>
<p>The Docker image for the workshop contains a virtual Ubuntu OS with the most stable releases of <a href="http://fenicsproject.org/">FEniCS</a>, <a href="http://ut-chg.github.io/BET/index.html">BET</a>, and <a href="http://libqueso.com/">QUESO</a>. To use the image, you will need to install docker and pull the image for the workshop. After this is done, a container may be launched via the commands below or with the provided shell script.</p>
<ul>
<li><p>To install Docker:</p>
<ul>
<li><p>On Mac OS X or Windows:
Install boot2docker (<a href="http://boot2docker.io/">http://boot2docker.io/</a>).
Launch boot2docker (which will start the Docker daemon).</p>
</li>
<li><p>On Linux:
Instructions for installation and starting the Docker daemon for different versions of Linux can be found here: <a href="https://docs.docker.com/installation/ubuntulinux/">https://docs.docker.com/installation/ubuntulinux/</a>.</p>
</li>
</ul>
</li>
<li><p>To get the image (this may take several minutes):</p>
<pre><code>docker pull smattis/rmswuq-docker
</code></pre></li>
<!-- <li><p>To launch the container:</p> -->
<!-- <pre><code>docker run -t -i smattis/rmswuq-docker:latest -->
<!-- </code></pre></li> -->
<!-- <li><p>To share a specified directory from the host with the container:</p> -->
<!-- <pre><code>docker run -v /absolute/path/to/shared/directory:/home/rmswuq/shared -t -i smattis/rmswuq-docker:latest -->
<!-- </code></pre></li> -->
<!-- <li><p>The shell script <a href="https://raw.githubusercontent.com/smattis/rmswuq-docker-extended/master/rmswuq"> rmswuq</a> is useful for running this container. Copy the file to the directory in which you want to work and do</p> -->
<!-- <pre><code>./rmswuq -->
<!-- </code></pre><p>This will launch the container and share a subdirectory called <code>shared</code>.</p> -->
<!-- </li> -->
<!-- <li><p>If you are running on Ubuntu, you may also be able to share your display with the container using X11 forwarding by</p> -->
<!-- <pre><code>./rmswuq -gui -->
<!-- </code></pre></li> -->
</ul>
<h3> Docker Troubleshooting</h3>
<p>A few people have had some issues with Docker. Here are some things that may cause issues and how to fix them:</p>
<li><p>When you are inside a docker container, do not close the terminal. Close it properly by doing <code>exit</code>. If you do improperly close a container, the next time you run it, you will get a message like </p>
<pre><code> Conflict. The name "rmswuq-latest" is already in use by container xxxxxx. You have to delete (or rename) that container to be able to reuse that name.</pre></code>
<p> If this happens just do</p>
<pre><code>docker rm xxxxxx </pre></code>
<p>and relaunch the container.</p>
</li>
<li> <p>If you are using boot2docker and are getting strange error messages, try doing </p>
<pre><code> docker stop
docker start</pre></code>
<p> and retrying.</p>
<p> If that does not work, try restarting your computer. </p>
<p> If that does not work, and boot2docker is not responding, try</p>
<pre><code> boot2docker stop
boot2docker destroy
boot2docker init
boot2docker up
</pre></code>
<p>You will have to pull down the image again after doing this. </p>
</li>
<h3> Docker for Demos: Step By Step</h3>
<li> <p> Install boot2docker (or just docker for Linux) by following above instructions and launch it.
</p>
</li>
<li> <p> Navigate to the directory on your local machine that you want to work in.</p>
</li>
<li> <p> Launch the container and share a directory on Mac/Linux by:</p>
<pre><code> docker --tlsverify=false run -v $PWD/shared:/home/rmswuq/shared -t -i smattis/rmswuq-docker-extended </code></pre>
<p> or on Windows by</p>
<pre><code>docker --tlsverify=false run -d -p 8787:8787 -v /c/Users/foobar/shared:/home/rmswuq/shared -t -i smattis/rmswuq-docker-extended </code></pre>
<p> replacing <code>/c/Users/foobar/shared</code> with the local directory you want to share.</p>
</li>
<p>This will launch a docker container in the terminal containing a virtualized Linux OS with all of the required packages installed for the demos. Think of this container as being a different machine (similar to a machine you have used ssh to access). Inside the container, it creates a directory called <code>shared</code> in the container's home directory. This directory is shared with the directory <code>/path/to/directory/shared</code>, where <code>/path/to/directory</code> is the path to the directory from which you launched the container. This directory is shared between the container and your local machine.</p>
<p>When running demos in the container, first copy them into the <code>shared</code> directory (see the WELCOME message when the container is launched). Since that directory is shared, you can now access them on your local machine. You can use your local text editor, image viewers, etc. If you wan to run code for the demos, do so in the container (since it has all of the software). Since you are working in the <code>shared</code> directory, any output fies are accessible from your local machine.
</p>
<p>Note: If running Linux, you may need to change of the permissions for the <code>shared</code> directory in order to access files. </p>
<h3> Installing BET</h3>
<p> BET is installed in the Docker container, so if you are running Docker, you don't have to do anything. For the Ubuntu and Windows users who are not using Docker, instructions follow.</p>
<p> For Windows: </p>
<ul><p>Install <a href="https://store.continuum.io/cshop/anaconda/"> Anaconda </a> and launch it.</p>
<p> Do <code> pip install pyDOE mpi4py </code> </p>
<p> Follow BET installation instructions <a href="http://ut-chg.github.io/BET/overview.html#installation"> here </a>. </p>
</ul>
<p>For Ubuntu: </p>
<ul> <p> <code> sudo apt-get update</code></p>
<p> <code> sudo apt-get install git openmpi-bin libopenmpi-dev python-pip python-numpy python-scipy python-matplotlib</code></p>
<p> <code> sudo pip install pyDOE mpi4py</code></p>
<p> Follow BET installation instructions <a href="http://ut-chg.github.io/BET/overview.html#installation"> here </a>. </p>
</ul>
</body></html>