diff --git a/tools/singularity/README.md b/tools/singularity/README.md index d316e629f3..ac7c64f1fc 100644 --- a/tools/singularity/README.md +++ b/tools/singularity/README.md @@ -1,18 +1,20 @@ # Singularity container definitions for compiling/testing LAMMPS The *.def files in this folder can be used to build container images -for [Singularity](https://sylabs.io) suitable for compiling and testing -LAMMPS on a variety of OS variants with support for most standard packages -and building/spellchecking the manual. This allows to test and debug -LAMMPS code on different OS variants than what is locally installed on -your development workstation, e.g. when bugs are reported that can only -be reproduced on a specific OS or with specific (mostly older) versions -of tools, compilers, or libraries. +for [Singularity](https://sylabs.io), suitable for compiling and testing +LAMMPS on a variety of OS variants with support for most standard +packages and - for some of them - also building/spellchecking the manual +in all supported formats. This allows to test and debug LAMMPS code on +different OS variants than what is locally installed on your development +workstation, e.g. when bugs are reported that can only be reproduced on +a specific OS or with specific (mostly older) versions of tools, +compilers, or libraries. Ready-to-use container images built from these definition files are occasionally uploaded to the container library at sylabs.io. They can be found here: https://cloud.sylabs.io/library/lammps/default/lammps_development# -and will be signed with the key fingerprint: EEA103764C6C633EDC8AC428D9B44E93BF0C375A +and will be signed with a GPG key that has the fingerprint: +EEA103764C6C633EDC8AC428D9B44E93BF0C375A Here is a workflow for testing a compilation of LAMMPS with a locally built CentOS 7.x singularity container. @@ -24,7 +26,7 @@ mkdir build-centos7 cd build-centos7 sudo singularity build centos7.sif ../tools/singularity/centos7.def singularity shell centos7.sif -cmake -C ../cmake/presets/most.cmake -D CMAKE_CXX_FLAGS="-O3 -g -fopenmp -std=c++11" ../cmake +cmake -C ../cmake/presets/most.cmake ../cmake make ``` @@ -42,9 +44,13 @@ cmake -C ../cmake/presets/most.cmake ../cmake make ``` -| Currently available: | | -| --- | --- | -| centos7.def | CentOS 7.x with EPEL enabled | -| centos8.def | CentOS 8.x with EPEL enabled | -| ubuntu16.04.def | Ubuntu 16.04LTS with default MPI == OpenMPI | -| ubuntu18.04.def | Ubuntu 18.04LTS with default MPI == OpenMPI | +| Currently available: | Description | +| ------------------------------ | ---------------------------------------------- | +| centos7.def | CentOS 7.x with EPEL enabled | +| centos8.def | CentOS 8.x with EPEL enabled | +| fedora30_mingw.def | Fedora 30 with MinGW cross-compiler toolchain | +| ubuntu16.04.def | Ubuntu 16.04LTS with default MPI == OpenMPI | +| ubuntu18.04.def | Ubuntu 18.04LTS with default MPI == OpenMPI | +| ubuntu18.04_amd_nvidia.def | Ubuntu 18.04LTS with Nvidia CUDA 10.2 toolkit | +| ubuntu18.04_amd_rocm.def | Ubuntu 18.04LTS with AMD ROCm toolkit | +| ubuntu18.04_intel_opencl.def | Ubuntu 18.04LTS with Intel OpenCL runtime | diff --git a/tools/singularity/fedora30_mingw.def b/tools/singularity/fedora30_mingw.def new file mode 100644 index 0000000000..7d8d3daed8 --- /dev/null +++ b/tools/singularity/fedora30_mingw.def @@ -0,0 +1,10 @@ +BootStrap: docker +From: fedora:30 + +%post + dnf -y update + dnf -y install vim-enhanced ccache gcc-c++ gdb make cmake patch which file git enchant python3-virtualenv valgrind eigen3-devel mingw64-binutils mingw32-crt mingw32-gcc mingw32-libgomp mingw64-filesystem mingw64-libjpeg-turbo mingw32-libjpeg-turbo mingw32-nsis mingw32-libpng mingw64-sqlite-static mingw64-libpng-static mingw32-pkg-config mingw64-crt mingw32-cpp mingw64-expat-static mingw64-libpng mingw32-expat mingw64-winpthreads-static mingw64-zlib-static mingw32-gcc-gfortran mingw64-gcc mingw32-binutils mingw32-expat-static mingw64-gcc-gfortran mingw64-headers mingw-filesystem-base mingw32-libjpeg-turbo-static mingw64-gcc-c++ mingw64-pkg-config mingw64-libjpeg-turbo-static mingw32-winpthreads mingw32-filesystem mingw32-zlib-static mingw64-expat mingw32-gcc-c++ mingw64-zlib mingw32-sqlite-static mingw64-cpp mingw32-libpng-static mingw-binutils-generic mingw32-eigen3 mingw64-eigen3 mingw32-winpthreads-static mingw32-zlib mingw32-headers mingw64-libgomp mingw64-winpthreads texlive-latex-fonts texlive-pslatex texlive-collection-latexrecommended texlive-latex texlive-latexconfig doxygen-latex texlive-collection-latex texlive-latexbug texlive-latex-bin texlive-lualatex-math texlive-fncychap texlive-tabulary texlive-framed texlive-wrapfig texlive-upquote texlive-capt-of texlive-needspace dos2unix findutils rsync + + +%labels + Author akohlmey