45 lines
1.3 KiB
Docker
45 lines
1.3 KiB
Docker
ARG ROCM_VERSION="5.7.3"
|
|
|
|
FROM wtongze/rocm-base:${ROCM_VERSION}
|
|
|
|
# "gfx803" or "gfx803;gfx900"
|
|
ARG HIP_ARCH="gfx803"
|
|
ARG BLENDER_BRANCH="v3.6.15"
|
|
ARG DEBIAN_FRONTEND="noninteractive"
|
|
|
|
# Add GPU target
|
|
RUN echo "${HIP_ARCH}" | sed 's/;/\n/g' | sudo tee /opt/rocm/bin/target.lst
|
|
|
|
RUN sudo apt-get update && \
|
|
sudo apt-get install -y python3 git git-lfs
|
|
|
|
WORKDIR /home/rocm
|
|
RUN git clone --depth 1 https://projects.blender.org/blender/blender.git -b ${BLENDER_BRANCH} && \
|
|
mkdir blender/build
|
|
|
|
WORKDIR /home/rocm/blender
|
|
RUN sudo ./build_files/build_environment/install_deps.sh || true
|
|
RUN ./build_files/build_environment/install_linux_packages.py || true
|
|
RUN ./build_files/utils/make_update.py --use-linux-libraries
|
|
|
|
RUN sudo apt-get clean && sudo rm -rf /var/lib/apt/lists/*
|
|
|
|
# > Ref: https://github.com/xuhuisheng/rocm-gfx803/blob/master/blender.md
|
|
# inline stalls on blender 4+
|
|
# blender need at least HIP 5.5.0
|
|
RUN sed -i 's/__noinline__/__inline__/g' intern/cycles/kernel/device/hip/compat.h
|
|
RUN sed -i 's/major >= 9/major >= 8/g' intern/cycles/device/hip/util.h
|
|
|
|
WORKDIR /home/rocm/blender/build
|
|
RUN cmake \
|
|
-DWITH_CYCLES_HIP_BINARIES=ON \
|
|
-DCYCLES_HIP_BINARIES_ARCH=${HIP_ARCH} \
|
|
-DWITH_NANOVDB=OFF \
|
|
..
|
|
RUN make -j$(nproc)
|
|
RUN cpack -G TXZ
|
|
|
|
RUN cp $(ls -l blender*.tar.xz | awk '{ print $9 }' | tail -n1 | tr -d '\n') /home/rocm/blender.tar.xz
|
|
|
|
CMD ["bash", "-l"]
|