Skip to content

Commit 901ce68

Browse files
committed
wip: test icx
1 parent 9d72e48 commit 901ce68

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

.github/workflows/docker-bases.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,12 @@ jobs:
7272
dockerfile: './docker/Dockerfile.cpu'
7373
runner: ubuntu-latest
7474

75+
- tag: 'devitocodes/bases:cpu-icx'
76+
arch: 'arch=icx'
77+
version: ''
78+
dockerfile: './docker/Dockerfile.cpu'
79+
runner: ubuntu-latest
80+
7581
- tag: 'devitocodes/bases:cpu-nvc'
7682
arch: 'arch=nvc-host'
7783
version: ''

docker/Dockerfile.cpu

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,32 @@ ENV DEVITO_LANGUAGE="openmp"
5555
# MPICC compiler for mpi4py
5656
ENV MPICC=$I_MPI_ROOT/bin/mpiicc
5757

58+
##############################################################
59+
# ICX image
60+
##############################################################
61+
FROM base as icx
62+
63+
# Download the key to system keyring
64+
# https://www.intel.com/content/www/us/en/develop/documentation/installation-guide-for-intel-oneapi-toolkits-linux/top/installation/install-using-package-managers/apt.html#apt
65+
RUN wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor > /usr/share/keyrings/oneapi-archive-keyring.gpg
66+
RUN echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" > /etc/apt/sources.list.d/oneAPI.list
67+
68+
# Install wanted components only (icc and mpiicc)
69+
RUN apt-get update -y && apt-get install -y intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic intel-oneapi-mpi-devel
70+
71+
# Set en vars by hand since we can't use entrypoint for intermediate image
72+
ENV I_ICC_ROOT=/opt/intel/oneapi/compiler/latest/
73+
ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest/
74+
ENV PATH $I_MPI_ROOT/libfabric/bin:$I_MPI_ROOT/bin:$I_ICC_ROOT/linux/bin/intel64:$I_ICC_ROOT/linux/bin:${PATH}
75+
ENV LD_LIBRARY_PATH $I_MPI_ROOT/libfabric/lib:$I_MPI_ROOT/lib/release:$I_MPI_ROOT/lib:$I_ICC_ROOT/linux/lib:$I_ICC_ROOT/linux/lib/x64:$I_ICC_ROOT/linux/compiler/lib/intel64_lin:${LD_LIBRARY_PATH}
76+
ENV FI_PROVIDER_PATH $I_MPI_ROOT/libfabric/lib/prov:/usr/lib64/libfabric:${LD_LIBRARY_PATH}
77+
78+
# Devito config
79+
ENV DEVITO_ARCH="icx"
80+
ENV DEVITO_LANGUAGE="openmp"
81+
# MPICC compiler for mpi4py
82+
ENV MPICC=$I_MPI_ROOT/bin/mpiicc
83+
5884
##############################################################
5985
# Published image
6086
##############################################################

0 commit comments

Comments
 (0)