You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I think it would be good to further expand and clarify the installation
instructions in the wiki:
- I added a section on how to reconfigure an existing PETSc
installation. I think this is useful since I assume that many users will
already have an existing installation
- I clearly separated the "local install" and "Docker" approaches and
their differences. I thought that it was slightly confusing in its
current state.
- I now explicitly state that the Docker image has everything
pre-installed and ready to use.
- I put the section on Docker at the very end, so that it is not
intertwined with the 'local installation' approach
- I simplified the 'Installing Mesh Adaptation modules' section with
various minor changes (will leave comments on specific changes)
---------
Co-authored-by: Joe Wallwork <22053413+jwallwork23@users.noreply.github.com>
Copy file name to clipboardExpand all lines: wiki/Installation-Instructions.md
+42-37Lines changed: 42 additions & 37 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,8 @@
1
1
The following installation instructions assume a Linux or Windows Subsystem for Linux (WSL) operating system.
2
-
The mesh adaptation modules are dependent on a custom setup for Firedrake with PETSc from either a [local installation](#local-firedrake-installation) or a [pre-built Docker image](#installing-firedrake-via-docker-image).
3
-
Once Firedrake is installed (or if you already have a working installation), see the section on [installing Animate, Goalie, or Movement](#installing-animate-goalie-or-movement).
2
+
3
+
The mesh adaptation modules are dependent on a custom setup for Firedrake with PETSc, as described in the [local installation](#local-firedrake-installation) section below. Once Firedrake is installed, see the section on [installing Animate, Goalie, or Movement](#installing-animate-goalie-or-movement).
4
+
5
+
Alternatively, you may use a [pre-built Docker image](#docker-container-approach) with Animate, Goalie, Movement, and all their dependencies preinstalled and ready to use.
4
6
5
7
## Local Firedrake installation
6
8
@@ -14,17 +16,53 @@ To use the mesh adaptation modules, we can install system dependencies (step 1)
If you have previously installed PETSc without the additional mesh adaptation packages listed above, you can install them using PETSc's [reconfigure](https://petsc.org/release/install/multibuild/#reconfigure) script as follows:
make PETSC_DIR=${PETSC_DIR} PETSC_ARCH=${PETSC_ARCH} all
26
+
```
27
+
28
+
## Installing Mesh Adaptation modules
29
+
30
+
The Mesh Adaptation packages Animate, Goalie, and Movement are installed as follows, denoting the package of interest by `<PACKAGE>`.
31
+
First, ensure that you have activated the Python virtual environment associated with your Firedrake installation:
32
+
```
33
+
source /path/to/venv/bin/activate
34
+
```
35
+
36
+
Then clone the `<PACKAGE>` repository using [your preferred method](https://docs.github.com/en/get-started/git-basics/about-remote-repositories). For example, cloning with HTTPS URL is done as follows:
Once cloned, the package can be [installed using pip](https://pip.pypa.io/en/stable/topics/local-project-installs/):
42
+
```
43
+
python3 -m pip install -e <PACKAGE>
44
+
```
45
+
46
+
## Updating
47
+
48
+
It is highly recommended to keep your Firedrake installation and Mesh Adaptation software stack up to date.
49
+
**We recommend updating the full stack at least once every two months.**
50
+
51
+
* To update Firedrake and PETSc, follow the [official Firedrake instructions](https://www.firedrakeproject.org/install.html#updating-firedrake) on how to do so.
52
+
* To update Animate/Goalie/Movement, simply change directory to where each one is located (`cd /path/to/package`) and run `git pull`.
53
+
17
54
## Docker container approach
18
55
19
-
A bespoke Firedrake Docker image exists and can be downloaded and run as an alternative to the above:
56
+
We provide a bespoke Docker image with PETSc, Firedrake, Animate, Goalie, and Movement already preinstalled.
docker run -it ghcr.io/mesh-adaptation/firedrake-parmmg:latest
23
62
```
24
63
25
64
For more information on how to run docker containers, see the [official documentation](https://docs.docker.com/engine/containers/run/). For example, since all data inside a container is only accessible from inside the container, it is useful to create [filesystem mounts](https://docs.docker.com/engine/containers/run/#filesystem-mounts) to be able to access data from outside the container.
26
65
27
-
28
66
### Using GPUs inside a container
29
67
30
68
Passing the `--gpus` flag to `docker run` allows us to use GPUs inside containers (see [Docker documentation](https://docs.docker.com/reference/cli/docker/container/run/#gpus) for details). For example, to use all available GPUs, run the following:
@@ -51,36 +89,3 @@ Now you may proceed with installing GPU-supported software as normal. For exampl
It is highly recommended to keep your Firedrake installation and Mesh Adaptation software stack up to date.
83
-
**We recommend updating the full stack at least once every two months.**
84
-
85
-
* To update Firedrake and PETSc, follow the [official Firedrake instructions](https://www.firedrakeproject.org/install.html#updating-firedrake) on how to do so.
86
-
* To update Animate/Goalie/Movement, simply change directory to where each one is located (`cd /path/to/package`) and run `git pull`.
0 commit comments