fix: disable Intel's LevelZero (ze) GPU wonk

This commit is contained in:
Jonas Juselius
2025-09-22 09:50:53 +02:00
parent a1a3a2ce3e
commit 2be57345f8
3 changed files with 72 additions and 19 deletions

View File

@@ -4,7 +4,7 @@ FROM intel/oneapi-hpckit:latest AS builder
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update -y \
&& apt install -y git wget cmake m4 gfortran autotools-dev autoconf libtool flex \
&& apt install -y git wget cmake m4 gcc g++ gfortran autotools-dev autoconf libtool flex \
libevent-dev libhwloc-dev libnuma-dev libibverbs-dev librdmacm-dev \
libmunge-dev linux-headers-generic libpthread-stubs0-dev \
libxml2-dev libcurl4-gnutls-dev
@@ -32,6 +32,8 @@ RUN mkdir -p /build \
&& cd /build/openpmix && git submodule update --init --recursive \
&& cd /build/ompi && git submodule update --init --recursive
RUN rm -rf /usr/include/level_zero
RUN cd /build/zlib \
&& ./configure --prefix=/opt/zlib \
&& make -j 16 install
@@ -53,15 +55,14 @@ RUN cd /build/ucx \
RUN cd /build/libfabric \
&& ./autogen.sh \
&& ./configure --prefix=/opt/ofi \
&& ./configure --prefix=/opt/ofi --without-cuda --without-ze \
&& make -j 16 install
RUN cd /build/ompi \
&& rm -rf /usr/include/level_zero \
&& ./autogen.pl
RUN cd /build/ompi \
&& env CC=icx CXX=icpx F77=ifx FC=ifx ./configure \
&& env CC=gcc CXX=g++ F77=ifx FC=ifx ./configure \
--with-knem=/opt/knem \
--with-ucx=/opt/ucx \
--with-pmix=/opt/pmix \
@@ -74,7 +75,7 @@ RUN cd /build/ompi \
&& make -j 16 install
RUN cd /build/hdf5 \
&& CC=icx CXX=icpx CFC=ifx ./configure --prefix=/opt/hdf5 \
&& CC=gcc CXX=g++ CFC=ifx ./configure --prefix=/opt/hdf5 \
--enable-fortran --enable-cxx --with-zlib=/opt/zlib \
&& make -j 16 install
@@ -94,15 +95,10 @@ RUN cd /build/netcdf-fortran \
&& ./configure --prefix=/opt/netcdf-fortran \
&& make -j 16 install
RUN mkdir -p /opt/include \
&& cp -rs /opt/netcdf-c/include/* /opt/include \
&& cp -rs /opt/netcdf-fortran/include/* /opt/include \
&& mkdir -p /opt/lib \
&& cp -rs /opt/netcdf-c/lib/* /opt/lib \
&& cp -rs /opt/netcdf-fortran/lib/* /opt/lib
RUN rm -rf /build
### SDK ###
FROM ubuntu:24.04 AS sdk
WORKDIR /
@@ -132,23 +128,39 @@ RUN cd /opt/intel/oneapi/mkl/latest \
RUN find /opt -xtype l ! -exec test -e {} \; -print | xargs rm
RUN mkdir -p /opt/bin \
&& mkdir -p /opt/include \
&& mkdir -p /opt/lib \
&& cp -rs /opt/openmpi/bin/* /opt/bin \
&& cp -rs /opt/netcdf-c/include/* /opt/include \
&& cp -rs /opt/netcdf-fortran/include/* /opt/include \
&& cp -rs /opt/zlib/lib/* /opt/lib \
&& cp -rs /opt/pmix/lib/* /opt/lib \
&& cp -rs /opt/ucx/lib/* /opt/lib \
&& cp -rs /opt/ofi/lib/* /opt/lib \
&& cp -rs /opt/openmpi/lib/* /opt/lib \
&& cp -rs /opt/netcdf-c/lib/* /opt/lib \
&& cp -rs /opt/netcdf-fortran/lib/* /opt/lib
ENV LC_ALL=C
ENV ONEAPI=/opt/bin:/opt/intel/oneapi/2025.2
ENV PATH=/opt/bin:${ONEAPI}/bin:${PATH}
ENV LD_LIBRARY_PATH=/opt/lib:${ONEAPI}/lib:${ONEAPI}/libfabric:${LD_LIBRARY_PATH}
ENV CPATH=/opt/include:${ONEAPI}/include:${CPATH}
ENV CC=icx
ENV CXX=icpx
ENV CC=gcc
ENV CXX=g++
ENV FC=ifx
ENV MPICC=mpiicx
ENV MPIFC=mpiicpx
ENV MPIFC=mpiifx
ENV MPICC=mpicc
ENV MPIFC=mpic++
ENV MPIFC=mpifort
ENV I_MPI_ROOT=/opt/intel/oneapi/mpi/latest
ENV I_MPI_FC=ifx
ENV I_MPI_F77=ifx
ENV I_MPI_F90=ifx
### RUNTIME ###
FROM sdk AS runtime
WORKDIR /
RUN rm -rf /opt/intel/oneapi/compiler/latest/bin

View File

@@ -3,5 +3,5 @@
docker build --target sdk -t intel-obxkit-sdk:2025.2.1 .
docker build --target runtime -t intel-obxkit-runtime:2025.2.1 .
sudo singularity build intel-obxkit-sdk.sif docker-daemon://intel-obxkit-sdk:2025.2.1
sudo singularity build intel-obxkit-runtime.sif docker-daemon://intel-obxkit-runtime:2025.2.1
sudo singularity build -F intel-obxkit-sdk.sif docker-daemon://intel-obxkit-sdk:2025.2.1
sudo singularity build -F intel-obxkit-runtime.sif docker-daemon://intel-obxkit-runtime:2025.2.1

41
hpl.def Normal file
View File

@@ -0,0 +1,41 @@
Bootstrap: localimage
From: intel-obxkit-sdk.sif
Stage: build
%files
/home/jonas/src/hpl-2.3.tar.gz /build/hpl-2.3.tar.gz
%post
apt -y update
apt -y install libopenblas-dev
cd /build
tar vfxz hpl-2.3.tar.gz
cd hpl-2.3
CC=mpicc ./configure
make -j
Bootstrap: localimage
From: intel-obxkit-runtime.sif
Stage: runtime
%environment
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/app
%post
apt -y update
apt -y install libopenblas0
%files from build
/build/hpl-2.3/testing/xhpl /app/xhpl
%runscript
/app/xhpl
%labels
Author jonas@juselius.io
%help
High-Performance LinPACK
https://www.advancedclustering.com/act_kb/tune-hpl-dat-file/
# vim:ft=singularity