Skip to content

Commit 3e6a1ae

Browse files
committed
Add Ubuntu 22.04 AMD ROCm container
1 parent 8ec337d commit 3e6a1ae

File tree

2 files changed

+115
-0
lines changed

2 files changed

+115
-0
lines changed

.github/workflows/continuous-integration-workflow.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ jobs:
1313
matrix:
1414
config:
1515
- {tag: 'ubuntu22.04', dockerfile: 'docker/ubuntu22.04.dockerfile'}
16+
- {tag: 'ubuntu22.04_amd_rocm', dockerfile: 'docker/ubuntu22.04_amd_rocm.dockerfile'}
1617
- {tag: 'fedora38_mingw', dockerfile: 'docker/fedora38_mingw.dockerfile'}
1718
runs-on: ubuntu-latest
1819
steps:
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
FROM ubuntu:22.04
2+
3+
ENV DEBIAN_FRONTEND=noninteractive
4+
5+
RUN apt-get update && \
6+
apt-get upgrade --no-install-recommends -y && \
7+
apt-get install -y --no-install-recommends curl wget gnupg ca-certificates && \
8+
rm -rf /var/lib/apt/lists/*
9+
10+
11+
###########################################################################
12+
# ROCm 5.7.1
13+
###########################################################################
14+
RUN apt-get update && \
15+
wget https://repo.radeon.com/amdgpu-install/5.7.1/ubuntu/jammy/amdgpu-install_5.7.50701-1_all.deb && \
16+
apt-get install -y ./amdgpu-install_5.7.50701-1_all.deb && \
17+
apt-get install --no-install-recommends -y \
18+
kmod \
19+
file \
20+
sudo \
21+
libelf1 \
22+
build-essential && \
23+
amdgpu-install --usecase=rocm --no-dkms -y && \
24+
rm -rf /var/lib/apt/lists/*
25+
26+
ENV PATH=/usr/lib/ccache:${PATH}:/opt/rocm/bin
27+
RUN echo -e '/opt/rocm/lib\n/opt/rocm/lib64\n' > /etc/ld.so.conf.d/rocm.conf && ldconfig
28+
29+
RUN apt-get update && \
30+
apt-get install --no-install-recommends -y software-properties-common gpg gpg-agent && \
31+
add-apt-repository ppa:openkim/latest -y && \
32+
apt-get update && \
33+
apt-get upgrade --no-install-recommends -y && \
34+
apt-get install --no-install-recommends -y \
35+
bc \
36+
build-essential \
37+
ccache \
38+
clang \
39+
clang-format \
40+
cmake \
41+
cmake-curses-gui \
42+
curl \
43+
g++ \
44+
gcc \
45+
gfortran \
46+
git \
47+
hdf5-tools \
48+
less \
49+
libblas-dev \
50+
libeigen3-dev \
51+
libenchant-2-dev \
52+
libfftw3-dev \
53+
libgsl-dev \
54+
libhdf5-serial-dev \
55+
libhwloc-dev \
56+
libjpeg-dev \
57+
liblapack-dev \
58+
libnetcdf-dev \
59+
libomp-dev \
60+
libopenblas-dev \
61+
libnuma-dev \
62+
libpng-dev \
63+
libproj-dev \
64+
libreadline-dev \
65+
libvtk9-dev \
66+
libyaml-dev \
67+
libzstd-dev \
68+
make \
69+
mpi-default-bin \
70+
mpi-default-dev \
71+
ninja-build \
72+
python3-dev \
73+
python3-pip \
74+
python3-pkg-resources \
75+
python3-setuptools \
76+
python3-venv \
77+
python-is-python3 \
78+
rsync \
79+
ssh \
80+
vim-nox \
81+
voro++-dev \
82+
wget \
83+
xxd \
84+
valgrind \
85+
gdb \
86+
zstd \
87+
libyaml-cpp-dev \
88+
libkim-api-dev \
89+
openkim-models && \
90+
rm -rf /var/lib/apt/lists/*
91+
92+
###########################################################################
93+
# Plumed
94+
###########################################################################
95+
96+
ENV PLUMED_PKG_VERSION=2.8.2
97+
98+
RUN mkdir plumed && \
99+
cd plumed && \
100+
curl -L -o plumed.tar.gz https://github.com/plumed/plumed2/releases/download/v${PLUMED_PKG_VERSION}/plumed-src-${PLUMED_PKG_VERSION}.tgz && \
101+
tar -xzf plumed.tar.gz && \
102+
cd plumed-${PLUMED_PKG_VERSION} && \
103+
./configure --disable-doc --prefix=/usr && \
104+
make && \
105+
make install && \
106+
cd ../../ && \
107+
rm -rvf plumed
108+
109+
ENV LC_ALL=C
110+
ENV PATH=/usr/lib/ccache:$PATH
111+
# tell OpenMPI to not try using Infiniband
112+
ENV OMPI_MCA_btl="^openib"
113+
# do not warn about unused components as this messes up testing
114+
ENV OMPI_MCA_btl_base_warn_component_unused="0"

0 commit comments

Comments
 (0)