{"id":35135433,"url":"https://github.com/gthomsen/scientific-computing-containers","last_synced_at":"2026-05-22T04:03:25.765Z","repository":{"id":52605931,"uuid":"478397343","full_name":"gthomsen/scientific-computing-containers","owner":"gthomsen","description":"Dockerfile's to build container images for scientific computing in high performance computing environments.","archived":false,"fork":false,"pushed_at":"2022-12-28T19:42:49.000Z","size":61,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-06-05T19:27:56.963Z","etag":null,"topics":["docker","dockerfile","hpc","podman","scientific-computing","singularity"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gthomsen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-04-06T04:06:46.000Z","updated_at":"2023-10-19T08:21:14.000Z","dependencies_parsed_at":"2023-01-31T07:15:57.277Z","dependency_job_id":null,"html_url":"https://github.com/gthomsen/scientific-computing-containers","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/gthomsen/scientific-computing-containers","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gthomsen%2Fscientific-computing-containers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gthomsen%2Fscientific-computing-containers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gthomsen%2Fscientific-computing-containers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gthomsen%2Fscientific-computing-containers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gthomsen","download_url":"https://codeload.github.com/gthomsen/scientific-computing-containers/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gthomsen%2Fscientific-computing-containers/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33328621,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-21T12:23:38.849Z","status":"online","status_checked_at":"2026-05-22T02:00:06.671Z","response_time":265,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","dockerfile","hpc","podman","scientific-computing","singularity"],"created_at":"2025-12-28T08:55:13.651Z","updated_at":"2026-05-22T04:03:25.757Z","avatar_url":"https://github.com/gthomsen.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Overview\n\nCollection of `Dockerfile`'s suitable as the foundation for development and\nexecution of scientific applications in high performance computing (HPC)\nenvironments.  This is intended to provide stable foundations that provide a\ndiverse collection of compiler and MPI distributions suitable for application\ndevelopment, data analysis and, ultimately, support research.  Multiple software\nstack foundations lowers the bar for building and testing while generally\nimproving application's portability, ultimately making it easier to deploy and\nrun said application on larger supercomputer resources.\n\nCurrently the following software stacks are supported:\n\n- GNU gfortran with OpenMPI\n- Intel ifort with Intel MPI\n\nA supplemental \"development\" layer is available and intended to augment the base\nGNU- and Intel-based images by providing additional tools suitable for\ninteractive development, debugging and profiling.  This provides things like a\nVNC server, terminal-based editors, GDB, run-time analysis tools\n(e.g. Valgrind), Linux `perf`, `strace`, and friends.\n\nThis repository is maintained with Podman in mind as privilege-less containers\nare required in most HPC installations.  While Podman isn't typically allowed in\nlarger supercomputing centers, Singularity is and the conversion from a Podman\ncontainer image to a Singularity image is provided by a helper shell script.\nDocker isn't regularly tested, though all images should work just fine.\n\n***NOTE:*** GNU Parallel is installed in each software stack and has its\ncitation request acknowledged.  If you do not agree to terms outlined in\n`parallel --citation` (or in\n[the FAQ](https://git.savannah.gnu.org/cgit/parallel.git/tree/doc/citation-notice-faq.txt)),\nthen do not use the installed version of Parallel.\n\n# Quick Start\n\nBelow are commands for building images using the GNU gfortran and OpenMPI stack.\nAlternate stacks can be used by substituting the directory on the base image's\nbuild (e.g. `ifort-classic+intel-mpi+oneAPI_base/` for Intel ifort and MPI).\n\n***NOTE:*** It is recommended that images be tagged using a date-based format of\n`YYYY.MM`.  Update the commands below with a year and month.\n\nBuilding a base image:\n\n``` shell\n$ podman build \\\n               --build-arg NUMBER_JOBS=16 \\\n               -t gfortran-openmpi:YYYY.MM \\\n               gfortran+openmpi/\n```\n\nBuilding a development image:\n\n``` shell\n$ podman build \\\n               --build-arg NUMBER_JOBS=16 \\\n               --build-arg BASE_IMAGE=gfortran-openmpi:latest \\\n               -t gfortran-openmpi:YYYY.MM-dev \\\n               development\n```\n\nRunning the development image with the host's `${HOME}/code/` directory mapped\ninto the container:\n\n``` shell\n$ podman run \\\n             --rm -it \\\n             -v ${HOME}/code:/code \\\n             gfortran-openmpi:YYYY.MM-dev\n```\n\nExporting the development image to Singularity's native image format:\n\n``` shell\n$ podman save -o gfortran-openmpi-YYYY.MM-dev.tar gfortran-openmpi:YYYY.MM-dev\n$ singularity build -F gfortran-openmpi-YYYY.MM-dev.sif \\\n                      docker-archive://gfortran-openmpi-YYYY.MM-dev.tar\n```\n\n# Published Images\n\nSelect images are published\nto\n[DockerHub at gthomsen/scientific-base](https://hub.docker.com/repository/docker/gthomsen/scientific-base).\nThe following images are currently available:\n\n| Image Name | Pull Commands | Compiler | MPI | Container OS | Dependencies | `Dockerfile`s |\n| --- | --- | --- | --- | --- | --- | --- |\n| `scientific-base:gfortran7.5-openmpi4.1-2022.12` \u003cbr/\u003e `scientific-base:gfortran7.5-openmpi4.1-2022.12-dev` | `docker pull docker.io/gthomsen/scientific-base:gfortran7.5-openmpi4.1-2022.12` \u003cbr/\u003e `docker pull docker.io/gthomsen/scientific-base:gfortran7.5-openmpi4.1-2022.12-dev` | `gcc`/`gfortran` 7.5 | OpenMPI 4.1.2 | Ubuntu 18.04 | HDF5 1.8.10, netCDF4 4.8.1 (4.5.3), FFTW 3.3.9 | [`base`](https://github.com/gthomsen/scientific-computing-containers/blob/gfortran7.5-openmpi4.1-2022.12/gfortran%2Bopenmpi/Dockerfile), [`development`](https://github.com/gthomsen/scientific-computing-containers/blob/gfortran7.5-openmpi4.1-2022.12-dev/gfortran%2Bopenmpi/Dockerfile) |\n| `scientific-base:gfortran11.3-openmpi4.1-2022.12` \u003cbr/\u003e `scientific-base:gfortran11.3-openmpi4.1-2022.12-dev` | `docker pull docker.io/gthomsen/scientific-base:gfortran11.3-openmpi4.1-2022.12` \u003cbr/\u003e `docker pull docker.io/gthomsen/scientific-base:gfortran11.3-openmpi4.1-2022.12-dev` | `gcc`/`gfortran` 11.3 | OpenMPI 4.1.2 | Ubuntu 22.04 | HDF5 1.8.10, netCDF4 4.8.1 (4.5.3), FFTW 3.3.9 | [`base`](https://github.com/gthomsen/scientific-computing-containers/blob/gfortran11.3-openmpi4.1-2022.12/gfortran%2Bopenmpi/Dockerfile), [`development`](https://github.com/gthomsen/scientific-computing-containers/blob/gfortran11.3-openmpi4.1-2022.12-dev/gfortran%2Bopenmpi/Dockerfile) |\n| `scientific-base:ifort2021.4-intelmpi2021.4-2022.12` \u003cbr/\u003e `scientific-base:ifort2021.4-intelmpi2021.4-2022.12-dev` | `docker pull docker.io/gthomsen/scientific-base:ifort2021.4-intelmpi2021.4-2022.12` \u003cbr/\u003e `docker pull docker.io/gthomsen/scientific-base:ifort2021.4-intelmpi2021.4-2022.12-dev` | `icc`/`ifort` 2021.4 | Intel MPI 2021.4 | Ubuntu 18.04 | HDF5 1.8.10, netCDF4 4.8.1 (4.5.3), FFTW 3.3.9 | [`base`](https://github.com/gthomsen/scientific-computing-containers/blob/ifort2021.4-intelmpi2021.4-2022.12/ifort-classic%2Bintel-mpi%2BoneAPI_base/Dockerfile), [`development`](https://github.com/gthomsen/scientific-computing-containers/blob/ifort2021.4-intelmpi2021.4-2022.12-dev/ifort-classic%2Bintel-mpi%2BoneAPI_base/Dockerfile) |\n| `scientific-base:ifort2021.6-intelmpi2021.6-2022.12` \u003cbr/\u003e `scientific-base:ifort2021.6-intelmpi2021.6-2022.12-dev` | `docker pull docker.io/gthomsen/scientific-base:ifort2021.6-intelmpi2021.6-2022.12` \u003cbr/\u003e `docker pull docker.io/gthomsen/scientific-base:ifort2021.6-intelmpi2021.6-2022.12-dev` | `icc`/`ifort` 2021.6 | Intel MPI 2021.6 | Ubuntu 20.04 | HDF5 1.8.10, netCDF4 4.8.1 (4.5.3), FFTW 3.3.9 | [`base`](https://github.com/gthomsen/scientific-computing-containers/blob/ifort2021.6-intelmpi2021.6-2022.12/ifort-classic%2Bintel-mpi%2BoneAPI_base/Dockerfile), [`development`](https://github.com/gthomsen/scientific-computing-containers/blob/ifort2021.6-intelmpi2021.6-2022.12-dev/ifort-classic%2Bintel-mpi%2BoneAPI_base/Dockerfile) |\n\n***NOTE:*** The Intel images are large downloads (6 GB) and *huge* once expanded\nin the local registry (20-24 GB).\n\n# Documentation\n\nProper documentation is currently lacking, though is slowly being added as\nreleases are made (and important details are rediscovered after being\nforgotten).\n\n- [Workflow](documentation/workflow.md): How-to for using containers for\n  development of scientific applications\n- [Publishing images](documentation/publishing-images.md): Explanation of\n  the image release process\n- [Notes for Intel oneAPI's images](documentation/oneAPI-development-context.md):\n  Details for reference when revisiting how images are built on top of oneAPI\n  images so they aren't gigantic\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgthomsen%2Fscientific-computing-containers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgthomsen%2Fscientific-computing-containers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgthomsen%2Fscientific-computing-containers/lists"}