Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 38 additions & 1 deletion BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,44 @@ sudo docker run --rm \
## ==> $PWD/build/xpu-smi*.deb generated
```

# Build .rpm package for Redhat / CentOS 7
# Build .deb package for Debian 10 / 12

```sh
# in /tmp/xpum_src

# Create builder
BASE_VERSION=10 # or 12
sudo docker build \
--build-arg http_proxy=$http_proxy \
--build-arg https_proxy=$https_proxy \
--iidfile /tmp/xpum_builder_debian_$BASE_VERSION.iid \
-f builder/Dockerfile.builder-debian$BASE_VERSION .

# Build xpumanager package
rm -fr build
sudo docker run --rm \
-v $PWD:$PWD \
-u $UID \
-e CCACHE_DIR=$PWD/.ccache \
-e CCACHE_BASEDIR=$PWD \
$(cat /tmp/xpum_builder_debian_$BASE_VERSION.iid) $PWD/build.sh

## ==> $PWD/build/xpumanager*.deb generated

# Build xpu-smi package
rm -fr build
sudo docker run --rm \
-v $PWD:$PWD \
-u $UID \
-e CCACHE_DIR=$PWD/.ccache \
-e CCACHE_BASEDIR=$PWD \
$(cat /tmp/xpum_builder_debian_$BASE_VERSION.iid) $PWD/build.sh -DDAEMONLESS=ON

## ==> $PWD/build/xpu-smi*.deb generated
```

# Build .rpm package for Redhat / CentOS 7

```sh
# in /tmp/xpum_src

Expand Down
File renamed without changes.
77 changes: 77 additions & 0 deletions builder/Dockerfile.builder-debian12
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
FROM debian:12.7@sha256:e11072c1614c08bf88b543fcfe09d75a0426d90896408e926454e88078274fcb

ARG L0_SRC_URL=https://github.com/oneapi-src/level-zero/archive/refs/tags/v1.8.5.tar.gz
ARG CMAKE_INSTALLER_URL=https://cmake.org/files/v3.20/cmake-3.20.0-linux-x86_64.sh
ARG METEE_URL=https://github.com/intel/metee/archive/refs/tags/3.1.3.tar.gz
ARG IGSC_URL=https://github.com/intel/igsc/archive/refs/tags/V0.8.4.tar.gz
ARG ZLIB_VERSION=v1.3
ARG GRPC_VERSION=v1.56.2
ARG CARES_VERSION=cares-1_19_1

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get install --no-install-recommends -y autoconf automake build-essential ccache doxygen \
dpkg-dev git gcc g++ libssl-dev libtool liblua5.2-0 libudev-dev pkg-config python3-full python3-dev python3-pip \
wget zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libreadline-dev libffi-dev \
apt-transport-https ca-certificates curl && \
rm -rf /var/lib/apt/lists/*

RUN mkdir cmake && \
cd cmake && \
wget -qc --no-check-certificate $CMAKE_INSTALLER_URL -O cmake.sh && \
chmod +x cmake.sh && \
./cmake.sh --skip-license && \
rm -f cmake.sh

ENV PATH "/cmake/bin:${PATH}"

COPY builder/requirements.txt /tmp/requirements.txt

RUN python3 -m venv /venv && \
/venv/bin/python -m pip --proxy=$http_proxy install -r /tmp/requirements.txt

ENV PATH "/venv/bin:${PATH}"

RUN git clone --recurse-submodules --depth 1 -b $GRPC_VERSION https://github.com/grpc/grpc && \
cd /grpc/third_party/zlib && \
git pull https://github.com/madler/zlib $ZLIB_VERSION && \
# fix CVE-2023-45853 by removing minizip code
rm -rf contrib/minizip && \
cd /grpc/third_party/cares/cares/ && \
git pull https://github.com/c-ares/c-ares.git $CARES_VERSION && \
cd /grpc && \
mkdir -p cmake/build && \
cd cmake/build && \
cmake -DgRPC_INSTALL=ON \
-DgRPC_BUILD_TESTS=OFF \
-DCMAKE_CXX_STANDARD=14 \
../.. && \
make -j4 && make install && \
rm -fr /grpc

RUN wget -qc --no-check-certificate $L0_SRC_URL -O - | tar -xz && \
cd /level-zero-* && \
mkdir build && \
cd build && \
cmake .. && \
make -j4 && \
make install && \
rm -fr /level-zero-*

RUN wget -qc --no-check-certificate $METEE_URL -O - | tar -xz && \
cd /metee-* && \
mkdir build && \
cd build && \
cmake .. && \
make -j4 && \
make install

RUN wget -qc --no-check-certificate $IGSC_URL -O - | tar -xz && \
cd /igsc-* && \
mkdir build && \
cd build && \
cmake .. && \
make -j4 && \
make install

RUN ldconfig