-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: vsoch <vsoch@users.noreply.github.com>
- Loading branch information
Showing
19 changed files
with
2,397 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# Containers | ||
|
||
Note that these are all CPU containers. I would not have the funds, and I doubt the cloud have the capacity, to use GPU. | ||
I am also taking greater care in designing the layers. | ||
|
||
### AWS | ||
|
||
> This typically means libfabric | ||
|
||
| Container | Dockerfile | | ||
|---------------------------------------------------------|--------------------------------------| | ||
| ghcr.io/converged-computing/ensemble-amg2023 | [Dockerfile](amg2023/Dockerfile) | | ||
| ghcr.io/converged-computing/ensemble-lammps | [Dockerfile](lammps/Dockerfile) | | ||
| ghcr.io/converged-computing/ensemble-stream | [Dockerfile](stream/Dockerfile) | | ||
| ghcr.io/converged-computing/ensemble-kripke | [Dockerfile](kripke/Dockerfile) | | ||
| ghcr.io/converged-computing/ensemble-laghos | [Dockerfile](laghos/Dockerfile) | | ||
| ghcr.io/converged-computing/ensemble-minife | [Dockerfile](minife/Dockerfile) | | ||
| ghcr.io/converged-computing/ensemble-mixbench | [Dockerfile](mixbench/Dockerfile) | | ||
| ghcr.io/converged-computing/ensemble-mt-gemm | [Dockerfile](mt-gemm/Dockerfile) | | ||
| ghcr.io/converged-computing/ensemble-osu | [Dockerfile](osu/Dockerfile) | | ||
| ghcr.io/converged-computing/ensemble-quicksilver | [Dockerfile](quicksilver/Dockerfile) | | ||
| ghcr.io/converged-computing/ensemble-stream | [Dockerfile](stream/Dockerfile) | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
FROM ubuntu:22.04 | ||
ENV DEBIAN_FRONTEND=noninteractive | ||
|
||
FROM ubuntu:22.04 | ||
|
||
# Build command | ||
# docker build -t ghcr.io/converged-computing/ensemble-kripke . | ||
# docker push ghcr.io/converged-computing/ensemble-kripke | ||
|
||
ENV DEBIAN_FRONTEND=noninteractive | ||
RUN apt-get update && \ | ||
apt-get -qq install -y --no-install-recommends \ | ||
apt-utils \ | ||
autotools-dev \ | ||
autoconf \ | ||
automake \ | ||
bzip2 \ | ||
build-essential \ | ||
ca-certificates \ | ||
clang \ | ||
clang-tidy \ | ||
curl \ | ||
dnsutils \ | ||
gcc \ | ||
g++ \ | ||
git \ | ||
gfortran \ | ||
jq \ | ||
libibverbs-dev \ | ||
librdmacm-dev \ | ||
libtool \ | ||
libffi-dev \ | ||
locales \ | ||
make \ | ||
pkg-config \ | ||
python3-dev \ | ||
python3-pip \ | ||
rdma-core \ | ||
sudo \ | ||
strace \ | ||
telnet \ | ||
unzip \ | ||
wget && \ | ||
apt-get clean && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
RUN locale-gen en_US.UTF-8 | ||
ENV LANG=C.UTF-8 | ||
|
||
WORKDIR /opt | ||
RUN wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.2.tar.gz && \ | ||
tar -xzvf openmpi-4.1.2.tar.gz && \ | ||
cd openmpi-4.1.2 && \ | ||
./configure && \ | ||
make -j 4 && make install && ldconfig | ||
|
||
RUN export VERSION="1.1.0" && \ | ||
curl -LO "/~https://github.com/oras-project/oras/releases/download/v${VERSION}/oras_${VERSION}_linux_amd64.tar.gz" && \ | ||
mkdir -p oras-install/ && \ | ||
tar -zxf oras_${VERSION}_*.tar.gz -C oras-install/ && \ | ||
mv oras-install/oras /usr/local/bin/ && \ | ||
rm -rf oras_${VERSION}_*.tar.gz oras-install/ | ||
ENV PATH=/usr/local/pancakes/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin | ||
ENV LD_LIBRARY_PATH=/usr/local/pancakes/lib:/usr/local/lib | ||
|
||
RUN apt-get update && apt-get install -y openssh-client openssh-server cmake && apt-get clean | ||
RUN echo " LogLevel ERROR" >> /etc/ssh/ssh_config && \ | ||
echo " StrictHostKeyChecking no" >> /etc/ssh/ssh_config && \ | ||
echo " UserKnownHostsFile=/dev/null" >> /etc/ssh/ssh_config && \ | ||
cd /root && \ | ||
mkdir -p /run/sshd && \ | ||
ssh-keygen -t rsa -N "" -f /root/.ssh/id_rsa && chmod og+rX . && \ | ||
cd .ssh && cat id_rsa.pub > authorized_keys && chmod 644 authorized_keys | ||
EXPOSE 22 | ||
|
||
WORKDIR /opt | ||
COPY ./gke.cmake /opt/gke.cmake | ||
|
||
RUN git clone /~https://github.com/LLNL/Kripke && \ | ||
cd Kripke && \ | ||
git submodule update --init --recursive && \ | ||
mkdir build && \ | ||
mv /opt/gke.cmake /opt/Kripke/host-configs/gke.cmake && \ | ||
cd /opt/Kripke/build && \ | ||
cmake -C../host-configs/gke.cmake ../ && make && \ | ||
mv /opt/Kripke/build/kripke.exe /usr/local/bin/kripke && \ | ||
rm -rf /opt/Kripke | ||
|
||
# Put those bad bois on the path! | ||
ENV PATH=/opt/Kripke:/opt/Kripke/build/bin:$PATH | ||
WORKDIR /opt/Kripke |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
## | ||
## Copyright (c) 2016, Lawrence Livermore National Security, LLC. | ||
## | ||
## Produced at the Lawrence Livermore National Laboratory. | ||
## | ||
## All rights reserved. | ||
## | ||
## | ||
|
||
set(RAJA_COMPILER "RAJA_COMPILER_GNU" CACHE STRING "") | ||
set(RAJA_HOST_CONFIG_LOADED On CACHE Bool "") | ||
|
||
set(CMAKE_C_COMPILER "gcc" CACHE PATH "") | ||
set(CMAKE_CXX_COMPILER "g++" CACHE PATH "") | ||
set(CMAKE_LINKER "g++" CACHE PATH "") | ||
|
||
set(CMAKE_CXX_FLAGS "" CACHE STRING "") | ||
set(CMAKE_CXX_FLAGS_RELEASE "-O3" CACHE STRING "") | ||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g" CACHE STRING "") | ||
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g" CACHE STRING "") | ||
|
||
set(ENABLE_OPENMP Off CACHE BOOL "") | ||
set(ENABLE_CHAI On CACHE BOOL "") | ||
set(ENABLE_MPI On CACHE BOOL "") | ||
set(ENABLE_MPI_WRAPPER Off CACHE BOOL "") | ||
|
||
set(RAJA_HOST_CONFIG_LOADED On CACHE Bool "") | ||
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "") | ||
set(CMAKE_EXE_LINKER_FLAGS "-lstdc++ -pthread" CACHE STRING "") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,115 @@ | ||
FROM ubuntu:22.04 | ||
|
||
# Build command | ||
# docker build -t ghcr.io/converged-computing/ensemble-laghos:libfabric . | ||
# docker push ghcr.io/converged-computing/ensemble-laghos:libfabric | ||
|
||
# Compilers, autotools | ||
ENV DEBIAN_FRONTEND=noninteractive | ||
RUN apt-get update && \ | ||
apt-get -qq install -y --no-install-recommends \ | ||
apt-utils \ | ||
autotools-dev \ | ||
autoconf \ | ||
automake \ | ||
bzip2 \ | ||
build-essential \ | ||
ca-certificates \ | ||
clang \ | ||
clang-tidy \ | ||
curl \ | ||
dnsutils \ | ||
gcc \ | ||
g++ \ | ||
git \ | ||
gfortran \ | ||
jq \ | ||
libibverbs-dev \ | ||
librdmacm-dev \ | ||
libtool \ | ||
libffi-dev \ | ||
locales \ | ||
make \ | ||
pkg-config \ | ||
python3-dev \ | ||
python3-pip \ | ||
rdma-core \ | ||
sudo \ | ||
strace \ | ||
telnet \ | ||
unzip \ | ||
wget && \ | ||
apt-get clean && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
RUN locale-gen en_US.UTF-8 | ||
ENV LANG=C.UTF-8 | ||
|
||
WORKDIR /opt | ||
RUN git clone -b v1.21.1 /~https://github.com/ofiwg/libfabric.git /opt/libfabric && \ | ||
cd /opt/libfabric && ./autogen.sh && \ | ||
./configure --enable-efa=yes --enable-tcp=yes --enable-udp=yes --enable-sockets=yes --enable-verbs=yes --enable-shm=yes --enable-mrail=yes --enable-rxd=yes --enable-rxm=yes && \ | ||
make -j 4 && make install | ||
|
||
RUN wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.2.tar.gz && \ | ||
tar -xzvf openmpi-4.1.2.tar.gz && \ | ||
cd openmpi-4.1.2 && \ | ||
./configure --with-ofi=/usr/local && \ | ||
make -j 4 && make install && ldconfig | ||
|
||
# Finally, install oras for saving artifacts | ||
RUN export VERSION="1.1.0" && \ | ||
curl -LO "/~https://github.com/oras-project/oras/releases/download/v${VERSION}/oras_${VERSION}_linux_amd64.tar.gz" && \ | ||
mkdir -p oras-install/ && \ | ||
tar -zxf oras_${VERSION}_*.tar.gz -C oras-install/ && \ | ||
mv oras-install/oras /usr/local/bin/ && \ | ||
rm -rf oras_${VERSION}_*.tar.gz oras-install/ | ||
ENV PATH=/usr/local/pancakes/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin | ||
ENV LD_LIBRARY_PATH=/usr/local/pancakes/lib:/usr/local/lib | ||
|
||
RUN apt-get update && apt-get install -y openssh-client openssh-server cmake && apt-get clean | ||
RUN echo " LogLevel ERROR" >> /etc/ssh/ssh_config && \ | ||
echo " StrictHostKeyChecking no" >> /etc/ssh/ssh_config && \ | ||
echo " UserKnownHostsFile=/dev/null" >> /etc/ssh/ssh_config && \ | ||
cd /root && \ | ||
mkdir -p /run/sshd && \ | ||
ssh-keygen -t rsa -N "" -f /root/.ssh/id_rsa && chmod og+rX . && \ | ||
cd .ssh && cat id_rsa.pub > authorized_keys && chmod 644 authorized_keys | ||
EXPOSE 22 | ||
|
||
WORKDIR /opt | ||
|
||
ENV MAKE_CXX_FLAG="MPICXX=mpic++" | ||
|
||
# Install hypre | ||
RUN apt-get install -y libc6-dev && \ | ||
export hypre_options="--disable-fortran --without-fei --enable-bigint" && \ | ||
wget --no-verbose /~https://github.com/hypre-space/hypre/archive/v2.31.0.tar.gz && \ | ||
tar -xzf v2.31.0.tar.gz && \ | ||
mv hypre-2.31.0 hypre && \ | ||
cd hypre/src && \ | ||
./configure ${hypre_options} CC=mpicc CXX=mpic++ && \ | ||
make -j 4 | ||
|
||
# Metis | ||
RUN wget --no-verbose /~https://github.com/mfem/tpls/raw/gh-pages/metis-4.0.3.tar.gz && \ | ||
tar -xzf metis-4.0.3.tar.gz && \ | ||
mv metis-4.0.3 metis-4.0 && \ | ||
make -j 4 -C metis-4.0/Lib CC=mpicc OPTFLAGS="-Wno-error=implicit-function-declaration -O2" | ||
|
||
RUN wget /~https://github.com/mfem/mfem/archive/refs/tags/v4.7.tar.gz && \ | ||
tar -xzvf v4.7.tar.gz && \ | ||
mv mfem-4.7 /opt/mfem && \ | ||
cd /opt/mfem && \ | ||
unset LD_LIBRARY_PATH && \ | ||
make config MFEM_USE_MPI=YES MPICXX=mpiCC MFEM_MPI_NP=2 MFEM_DEBUG=${DEBUG} CPPFLAGS="${CPPFLAGS}" && \ | ||
make -j 4 | ||
|
||
WORKDIR /opt | ||
RUN wget /~https://github.com/CEED/Laghos/archive/refs/tags/v3.1.tar.gz && \ | ||
tar -xzvf v3.1.tar.gz && \ | ||
mv Laghos-3.1 /opt/laghos && \ | ||
cd /opt/laghos && \ | ||
make -j 4 | ||
|
||
WORKDIR /opt/laghos |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
FROM ubuntu:22.04 | ||
|
||
# Build command | ||
# docker build -t ghcr.io/converged-computing/ensemble-lammps . | ||
# docker push ghcr.io/converged-computing/ensemble-lammps | ||
|
||
# Compilers, autotools | ||
ENV DEBIAN_FRONTEND=noninteractive | ||
RUN apt-get update && \ | ||
apt-get -qq install -y --no-install-recommends \ | ||
apt-utils \ | ||
autotools-dev \ | ||
autoconf \ | ||
automake \ | ||
bzip2 \ | ||
build-essential \ | ||
ca-certificates \ | ||
clang \ | ||
clang-tidy \ | ||
curl \ | ||
dnsutils \ | ||
gcc \ | ||
g++ \ | ||
git \ | ||
gfortran \ | ||
jq \ | ||
libibverbs-dev \ | ||
librdmacm-dev \ | ||
libtool \ | ||
libffi-dev \ | ||
locales \ | ||
make \ | ||
pkg-config \ | ||
python3-dev \ | ||
python3-pip \ | ||
rdma-core \ | ||
sudo \ | ||
strace \ | ||
telnet \ | ||
unzip \ | ||
wget && \ | ||
apt-get clean && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
RUN locale-gen en_US.UTF-8 | ||
ENV LANG=C.UTF-8 | ||
|
||
WORKDIR /opt | ||
RUN wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.2.tar.gz && \ | ||
tar -xzvf openmpi-4.1.2.tar.gz && \ | ||
cd openmpi-4.1.2 && \ | ||
./configure && \ | ||
make -j 4 && make install && ldconfig | ||
|
||
# Finally, install oras for saving artifacts | ||
RUN export VERSION="1.1.0" && \ | ||
curl -LO "/~https://github.com/oras-project/oras/releases/download/v${VERSION}/oras_${VERSION}_linux_amd64.tar.gz" && \ | ||
mkdir -p oras-install/ && \ | ||
tar -zxf oras_${VERSION}_*.tar.gz -C oras-install/ && \ | ||
mv oras-install/oras /usr/local/bin/ && \ | ||
rm -rf oras_${VERSION}_*.tar.gz oras-install/ | ||
ENV PATH=/usr/local/pancakes/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin | ||
ENV LD_LIBRARY_PATH=/usr/local/pancakes/lib:/usr/local/lib | ||
|
||
RUN apt-get update && apt-get install -y openssh-client openssh-server cmake && apt-get clean | ||
RUN echo " LogLevel ERROR" >> /etc/ssh/ssh_config && \ | ||
echo " StrictHostKeyChecking no" >> /etc/ssh/ssh_config && \ | ||
echo " UserKnownHostsFile=/dev/null" >> /etc/ssh/ssh_config && \ | ||
cd /root && \ | ||
mkdir -p /run/sshd && \ | ||
ssh-keygen -t rsa -N "" -f /root/.ssh/id_rsa && chmod og+rX . && \ | ||
cd .ssh && cat id_rsa.pub > authorized_keys && chmod 644 authorized_keys | ||
EXPOSE 22 | ||
|
||
WORKDIR /opt | ||
RUN mkdir lammps && \ | ||
cd lammps && \ | ||
git init && \ | ||
git remote add origin /~https://github.com/lammps/lammps.git && \ | ||
git fetch --depth 1 origin a8687b53724b630fb5f454c8d7be9f9370f8bb3b && \ | ||
git checkout FETCH_HEAD && \ | ||
mkdir build && \ | ||
cd build && \ | ||
cmake ../cmake -D PKG_REAXFF=yes -D BUILD_MPI=yes -D PKG_OPT=yes -D FFT=FFTW3 \ | ||
-D CMAKE_INSTALL_PREFIX=/usr \ | ||
&& make && make install | ||
|
||
WORKDIR /code | ||
RUN cp -R /opt/lammps/examples/reaxff/HNS/* /code/ && \ | ||
chown -R 1000 /code /opt/lammps |
Oops, something went wrong.