Skip to content

Commit eb3d441

Browse files
committed
Fix intel image
1 parent dfdd1be commit eb3d441

File tree

3 files changed

+11
-46
lines changed

3 files changed

+11
-46
lines changed

README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ Name | Distribution | Purpose | Image | Status
1313
`ubuntu-2004` | Ubuntu 20.04 | Oldest Ubuntu LTS | [DockerHub](https://hub.docker.com/r/precice/ci-ubuntu-2004) | [![Update Ubuntu 20.04](https://github.com/precice/ci-images/actions/workflows/ubuntu-2004.yml/badge.svg)](https://github.com/precice/ci-images/actions/workflows/ubuntu-2004.yml)
1414
`ubuntu-2204` | Ubuntu 22.04 | Newest Ubuntu LTS | [DockerHub](https://hub.docker.com/r/precice/ci-ubuntu-2204) | [![Update Ubuntu 22.04](https://github.com/precice/ci-images/actions/workflows/ubuntu-2204.yml/badge.svg)](https://github.com/precice/ci-images/actions/workflows/ubuntu-2204.yml)
1515
`ubuntu-2404` | Ubuntu 24.04 | Upcoming Ubuntu LTS | [DockerHub](https://hub.docker.com/r/precice/ci-ubuntu-2404) | [![Update Ubuntu 24.04](https://github.com/precice/ci-images/actions/workflows/ubuntu-2404.yml/badge.svg)](https://github.com/precice/ci-images/actions/workflows/ubuntu-2404.yml)
16-
`intel` | Ubuntu 22.04 | [Intel oneAPI HPC Toolkit](https://www.intel.com/content/www/us/en/developer/tools/oneapi/hpc-toolkit.html) | [DockerHub](https://hub.docker.com/r/precice/ci-intel) | :warning: must be build and pushed locally as the base image exceeds the [14GB of storage on runners](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources)
16+
`intel` | Ubuntu 24.04 | [Intel oneAPI HPC Toolkit](https://www.intel.com/content/www/us/en/developer/tools/oneapi/hpc-toolkit.html) | [DockerHub](https://hub.docker.com/r/precice/ci-intel) | [![Update Intel](https://github.com/precice/ci-images/actions/workflows/intel.yml/badge.svg)](https://github.com/precice/ci-images/actions/workflows/intel.yml)
17+
1718

1819
<!-- [![Update Intel](https://github.com/precice/ci-images/actions/workflows/intel.yml/badge.svg)](https://github.com/precice/ci-images/actions/workflows/intel.yml) -->
1920

ci-intel.dockerfile

+7-45
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# Dockerfile for building preCICE on ubuntu 22.04 with the intel oneAPI HPC Kit
1+
# Dockerfile for building preCICE on ubuntu with the intel oneAPI compilers and MPI
22

3-
FROM ubuntu:20.04
3+
FROM ubuntu:24.04
44

55
## Install and setup Intel oneAPI
66

@@ -17,46 +17,11 @@ RUN --mount=type=cache,target=/var/cache/apt \
1717
apt-get update && \
1818
\
1919
apt-get install -y --no-install-recommends build-essential pkg-config gnupg libarchive13 openssh-server openssh-client wget net-tools git && \
20-
apt-get install -y --no-install-recommends intel-oneapi-ccl-devel intel-oneapi-common-vars intel-oneapi-compiler-dpcpp-cpp intel-oneapi-dev-utilities intel-oneapi-ipp-devel intel-oneapi-ippcp-devel intel-oneapi-libdpstd-devel intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic intel-oneapi-compiler-fortran intel-oneapi-mpi-devel && \
20+
apt-get install -y --no-install-recommends intel-oneapi-mpi-devel intel-oneapi-compiler-dpcpp-cpp intel-oneapi-compiler-fortran && \
2121
rm -rf /var/lib/apt/lists/*
2222

23-
# Setup environment for Intel oneAPI
24-
25-
# General
26-
ENV LANG=C.UTF-8
27-
ENV CCL_CONFIGURATION='cpu_gpu_dpcpp'
28-
ENV CCL_ROOT='/opt/intel/oneapi/ccl/latest'
29-
ENV CMPLR_ROOT='/opt/intel/oneapi/compiler/latest'
30-
ENV DAALROOT='/opt/intel/oneapi/dal/2023.2.0'
31-
ENV DALROOT='/opt/intel/oneapi/dal/2023.2.0'
32-
ENV DAL_MAJOR_BINARY='1'
33-
ENV DAL_MINOR_BINARY='1'
34-
ENV DPL_ROOT='/opt/intel/oneapi/dpl/latest'
35-
ENV FI_PROVIDER_PATH='/opt/intel/oneapi/mpi/latest//libfabric/lib/prov:/usr/lib/x86_64-linux-gnu/libfabric'
36-
ENV INTEL_LICENSE_FILE='/opt/intel/licenses:/root/intel/licenses:/opt/intel/licenses:/root/intel/licenses:/Users/Shared/Library/Application Support/Intel/Licenses'
37-
ENV IPPCP_TARGET_ARCH='intel64'
38-
ENV IPPCRYPTOROOT='/opt/intel/oneapi/ippcp/latest'
39-
ENV IPPROOT='/opt/intel/oneapi/ipp/latest'
40-
ENV IPP_TARGET_ARCH='intel64'
41-
ENV I_MPI_ROOT='/opt/intel/oneapi/mpi/latest'
42-
#ENV NLSPATH='/opt/intel/oneapi/mkl/latest/lib/intel64/locale/%l_%t/%N:/opt/intel/oneapi/compiler/latest/linux/compiler/lib/intel64_lin/locale/%l_%t/%N'
43-
ENV OCL_ICD_FILENAMES='libintelocl_emu.so:libalteracl.so:/opt/intel/oneapi/compiler/latest/linux/lib/x64/libintelocl.so'
44-
ENV ONEAPI_ROOT='/opt/intel/oneapi'
45-
ENV TBBROOT='/opt/intel/oneapi/tbb/latest/env/..'
46-
ENV SETVARS_COMPLETED='1'
47-
48-
# Package files
49-
ENV CMAKE_PREFIX_PATH='/opt/intel/oneapi/tbb/latest/env/..:/opt/intel/oneapi/ipp/latest/lib/cmake/ipp:/opt/intel/oneapi/compiler/latest/linux/IntelDPCPP:/opt/intel/oneapi/ccl/latest/lib/cmake/oneCCL'
50-
ENV PKG_CONFIG_PATH='/opt/intel/oneapi/tbb/latest/env/../lib/pkgconfig:/opt/intel/oneapi/mpi/latest/lib/pkgconfig:/opt/intel/oneapi/mkl/latest/lib/pkgconfig:/opt/intel/oneapi/ippcp/latest/lib/pkgconfig:/opt/intel/oneapi/dpl/latest/lib/pkgconfig:/opt/intel/oneapi/compiler/latest/lib/pkgconfig:/opt/intel/oneapi/ccl/latest/lib/pkgconfig'
51-
52-
# General includes
53-
ENV CPATH='/opt/intel/oneapi/tbb/latest/env/../include:/opt/intel/oneapi/mpi/latest/include:/opt/intel/oneapi/mkl/latest/include:/opt/intel/oneapi/ippcp/latest/include:/opt/intel/oneapi/ipp/latest/include:/opt/intel/oneapi/dev-utilities/latest/include:/opt/intel/oneapi/compiler/latest/linux/lib/oclfpga/include:/opt/intel/oneapi/ccl/latest/include/cpu_gpu_dpcpp'
54-
ENV PATH='/opt/intel/oneapi/mpi/latest/libfabric/bin:/opt/intel/oneapi/mpi/latest/bin:/opt/intel/oneapi/mkl/2023.2.0/bin/intel64:/opt/intel/oneapi/itac/2021.10.0/bin:/opt/intel/oneapi/inspector/2023.2.0/bin64:/opt/intel/oneapi/dev-utilities/latest/bin:/opt/intel/oneapi/debugger/latest/gdb/intel64/bin:/opt/intel/oneapi/compiler/latest/linux/lib/oclfpga/bin:/opt/intel/oneapi/compiler/latest/linux/bin/intel64:/opt/intel/oneapi/compiler/latest/linux/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
55-
ENV LD_LIBRARY_PATH='/opt/intel/oneapi/tbb/latest/env/../lib/intel64/gcc4.8:/opt/intel/oneapi/mpi/latest//libfabric/lib:/opt/intel/oneapi/mpi/latest//lib/release:/opt/intel/oneapi/mpi/latest//lib:/opt/intel/oneapi/mkl/latest/lib/intel64:/opt/intel/oneapi/ippcp/latest/lib/intel64:/opt/intel/oneapi/ipp/latest/lib/intel64:/opt/intel/oneapi/dnnl/2023.2.0/cpu_dpcpp_gpu_dpcpp/lib:/opt/intel/oneapi/debugger/latest/gdb/intel64/lib:/opt/intel/oneapi/debugger/latest/libipt/intel64/lib:/opt/intel/oneapi/debugger/latest/dep/lib:/opt/intel/oneapi/dal/2023.2.0/lib/intel64:/opt/intel/oneapi/compiler/latest/linux/lib:/opt/intel/oneapi/compiler/latest/linux/lib/x64:/opt/intel/oneapi/compiler/latest/linux/lib/oclfpga/host/linux64/lib:/opt/intel/oneapi/compiler/latest/linux/compiler/lib/intel64_lin:/opt/intel/oneapi/ccl/latest/lib/cpu_gpu_dpcpp:/opt/intel/oneapi/compiler/latest/linux/compiler/lib/intel64_lin:/opt/intel/oneapi/ccl/latest/lib/cpu_gpu_dpcpp'
56-
ENV LIBRARY_PATH='/opt/intel/oneapi/tbb/latest/env/../lib/intel64/gcc4.8:/opt/intel/oneapi/mpi/latest//libfabric/lib:/opt/intel/oneapi/mpi/latest//lib/release:/opt/intel/oneapi/mpi/latest//lib:/opt/intel/oneapi/mkl/latest/lib/intel64:/opt/intel/oneapi/ippcp/latest/lib/intel64:/opt/intel/oneapi/ipp/latest/lib/intel64:/opt/intel/oneapi/compiler/latest/linux/compiler/lib/intel64_lin:/opt/intel/oneapi/compiler/latest/linux/lib:/opt/intel/oneapi/ccl/latest/lib/cpu_gpu_dpcpp'
57-
5823
# Check if Intel compilers are available
59-
RUN icx --version && icpx --version && ifx --version
24+
RUN . /opt/intel/oneapi/setvars.sh icx --version && icpx --version && ifx --version
6025

6126
# Add the precice user to run test with mpi
6227
RUN useradd -m -s /bin/bash precice
@@ -75,7 +40,7 @@ RUN --mount=type=cache,target=/var/cache/apt \
7540
libeigen3-dev \
7641
libxml2-dev \
7742
lsb-release \
78-
ninja \
43+
ninja-build \
7944
python3-dev \
8045
python3-numpy \
8146
python3-pip \
@@ -89,7 +54,8 @@ RUN --mount=type=cache,target=/var/cache/apt \
8954
RUN rm -rf /var/lib/apt/lists/* /var/cache/apt/*
9055

9156

92-
RUN git clone -b release --depth 1 https://gitlab.com/petsc/petsc.git /petsc && \
57+
RUN . /opt/intel/oneapi/setvars.sh && \
58+
git clone -b release --depth 1 https://gitlab.com/petsc/petsc.git /petsc && \
9359
cd /petsc && \
9460
export I_MPI_CC=icx I_MPI_CXX=icpx I_MPI_FC=ifx && \
9561
./configure --with-cc=mpicc --with-cxx=mpicxx --with-fc=mpifc --prefix=/usr/local/ && \
@@ -100,10 +66,6 @@ RUN git clone -b release --depth 1 https://gitlab.com/petsc/petsc.git /petsc &&
10066
COPY --chown=root:root intel/99-setup-intel.sh /etc/profile.d/
10167

10268

103-
# Environment variables are set in the .env file
104-
# COPY --chown=root:root ginkgo/99-ginkgo-env.sh /etc/profile.d/
105-
# COPY ginkgo/ginkgo-install.sh ginkgo-install.sh
106-
# RUN ./ginkgo-install.sh && rm ginkgo-install.sh
10769
CMD ["/bin/bash", "--login"]
10870

10971
# vim: set ft=dockerfile :

intel/99-setup-intel.sh

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Load the intel environment
22

3+
. /opt/intel/oneapi/setvars.sh
4+
35
# Set compilers
46
export CC=icx
57
export CXX=icpx

0 commit comments

Comments
 (0)