Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mfem/containers
Docker containers for MFEM
https://github.com/mfem/containers
containers docker mfem
Last synced: about 2 months ago
JSON representation
Docker containers for MFEM
- Host: GitHub
- URL: https://github.com/mfem/containers
- Owner: mfem
- License: bsd-3-clause
- Created: 2022-07-15T21:20:21.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-21T23:40:26.000Z (about 1 year ago)
- Last Synced: 2024-09-16T22:05:13.453Z (4 months ago)
- Topics: containers, docker, mfem
- Language: Makefile
- Homepage:
- Size: 50.8 KB
- Stars: 4
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## 📦 MFEM Docker Containers
This repository contains [Docker](https://www.docker.com/) images to aid
[MFEM](https://github.com/mfem/mfem) development and the exploration of MFEM and
its capabilities in a variety of computing environments: from personal laptops, to HPC
clusters, and the cloud.- You can find pre-built images in the right sidebar under `Packages`.
- Instructions how to use these containers locally can be found in the
[Docker page](https://mfem.org/tutorial/docker) of the MFEM website.- You can also use them to setup your own cloud MFEM development environment.
See this [AWS script](developer/user-data.sh).There are currently two main configurations that support CPU or GPU computation.
Both types are available in the following configurations:- [`cpu`](https://github.com/mfem/containers/pkgs/container/containers%2Fcpu)
- OpenMPI 4.1.2
- hypre 2.27- [`cuda-sm70`](https://github.com/mfem/containers/pkgs/container/containers%2Fcuda-sm70)
- CUDA toolkit 11.8
- OpenMPI 4.1.2
- hypre 2.27- [`cpu-tpls`](https://github.com/mfem/containers/pkgs/container/containers%2Fcpu-tpls)
- OpenMPI 4.1.2
- hypre 2.27.0
- SuperLU_dist 8.2.1
- PETSc 3.20.2- [`cuda-tpls-sm70`](https://github.com/mfem/containers/pkgs/container/containers%2Fcuda-tpls-sm70)
- CUDA toolkit 11.8
- OpenMPI 4.1.2
- hypre 2.27.0
- AmgX 8.2.1- [`developer-cpu`](https://github.com/mfem/containers/pkgs/container/containers%2Fdeveloper-cpu)
- extension of `cpu-tpls` that includes a development environment with VSCode server and GLVis
- see the MFEM [AWS tutorial](https://mfem.org/tutorial/docker) for details
- [`developer-cuda-sm70`](https://github.com/mfem/containers/pkgs/container/containers%2Fdeveloper-cuda-sm70)
- extension of `cuda-tpls-sm70` that includes a development environment with VSCode server and GLVis
- see the MFEM [AWS tutorial](https://mfem.org/tutorial/docker) for detailsNote that the `cuda` images require the host has the
[NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) to installed and configured.Note also that the `cuda` images have MFEM and its third-party libraries configured for
CUDA `sm_70`. You can create your own image that support a different compute capability with
`docker-compose` as follows:
```
git clone [email protected]:mfem/containers.git
cd containers
docker-compose build --build-arg cuda_arch_sm=80 cuda && docker image tag cuda:latest cuda-sm80:latest
docker-compose build --build-arg cuda_arch_sm=80 cuda-tpls && docker image tag cuda-tpls:latest cuda-tpls-sm80:latest
```We recommend starting the container with:
```
docker run --cap-add=SYS_PTRACE -ti --gpus all ghcr.io/mfem/containers/cuda-tpls-sm70:latest /bin/bash
```
which puts you in the home directory for the `euler` user, enables access to all GPUs, and lets you
explore the broad selection of examples or write your own.