Split apart the base from the app
Docker Build and Release Upload / build-rocm (push) Failing after 12s
Docker Build and Release Upload / build-rocm (push) Failing after 12s
This commit is contained in:
+1
-159
@@ -1,163 +1,5 @@
|
|||||||
# Use the LTS Ubuntu repo
|
# Use the rocm-base-aarch64-dockerfile
|
||||||
FROM ubuntu:26.04 AS reqs
|
FROM ubuntu:26.04 AS reqs
|
||||||
# Set global build variables
|
|
||||||
ENV PIP_BREAK_SYSTEM_PACKAGES=1
|
|
||||||
ENV PYTHONUNBUFFERED=1
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
|
||||||
ENV MAX_JOBS=10
|
|
||||||
# Install libraries
|
|
||||||
RUN apt update -y && \
|
|
||||||
apt upgrade -y && \
|
|
||||||
apt install -y --no-install-recommends \
|
|
||||||
ca-certificates \
|
|
||||||
wget \
|
|
||||||
curl \
|
|
||||||
git \
|
|
||||||
gfortran \
|
|
||||||
ninja-build \
|
|
||||||
g++ \
|
|
||||||
pkg-config \
|
|
||||||
xxd \
|
|
||||||
automake \
|
|
||||||
libtool \
|
|
||||||
libegl1-mesa-dev \
|
|
||||||
texinfo \
|
|
||||||
bison \
|
|
||||||
flex \
|
|
||||||
cmake \
|
|
||||||
build-essential \
|
|
||||||
zlib1g-dev \
|
|
||||||
libncurses5-dev \
|
|
||||||
libopenblas-dev \
|
|
||||||
libpthreadpool-dev \
|
|
||||||
libgoogle-glog-dev \
|
|
||||||
libgtest-dev \
|
|
||||||
libbenchmark-dev \
|
|
||||||
libgdbm-dev \
|
|
||||||
libnss3-dev \
|
|
||||||
libssl-dev \
|
|
||||||
libreadline-dev \
|
|
||||||
libffi-dev \
|
|
||||||
libsqlite3-dev \
|
|
||||||
libelf-dev \
|
|
||||||
libpciaccess-dev \
|
|
||||||
protobuf-compiler \
|
|
||||||
libprotobuf-dev \
|
|
||||||
libbz2-dev \
|
|
||||||
liblzma-dev \
|
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
|
||||||
# Tested Working
|
|
||||||
|
|
||||||
# Build python 3.11
|
|
||||||
FROM reqs AS python
|
|
||||||
WORKDIR /build/python
|
|
||||||
RUN wget https://www.python.org/ftp/python/3.11.15/Python-3.11.15.tgz && \
|
|
||||||
tar -xf Python-3.11.15.tgz && \
|
|
||||||
cd Python-3.11.15 && \
|
|
||||||
./configure --enable-optimizations --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib" && \
|
|
||||||
make -j 80 && \
|
|
||||||
make install && \
|
|
||||||
ldconfig /usr/local/lib && \
|
|
||||||
wget https://bootstrap.pypa.io/get-pip.py && \
|
|
||||||
python3 get-pip.py && \
|
|
||||||
ln -s /usr/local/bin/pip3 /bin/pip && \
|
|
||||||
ln -s /usr/local/bin/pip3 /bin/pip3 && \
|
|
||||||
ln -s /usr/local/bin/python3 /bin/python && \
|
|
||||||
ln -s /usr/local/bin/python3 /bin/python3.11
|
|
||||||
# Tested Working
|
|
||||||
|
|
||||||
# Build ROCm latest
|
|
||||||
FROM python AS ROCm
|
|
||||||
WORKDIR /build/therock
|
|
||||||
ENV CFLAGS="-Wno-error=discarded-qualifiers -fcommon -w"
|
|
||||||
ENV CXXFLAGS="-Wno-error=discarded-qualifiers -fcommon -w"
|
|
||||||
RUN git clone https://github.com/ROCm/TheRock.git && \
|
|
||||||
cd TheRock && \
|
|
||||||
git submodule update --init --recursive && \
|
|
||||||
env INSTALL_PREFIX=/usr/local ./dockerfiles/install_pinned_patchelf.sh && \
|
|
||||||
pip install -r requirements.txt && \
|
|
||||||
cmake -S . -B build \
|
|
||||||
-G Ninja \
|
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
|
||||||
-DTHEROCK_AMDGPU_TARGETS="gfx1100" \
|
|
||||||
-DTHEROCK_DIST_AMDGPU_FAMILIES="gfx1100" \
|
|
||||||
-DTHEROCK_AMDGPU_DIST_BUNDLE_NAME="gfx1100" \
|
|
||||||
-DLLVM_HOST_TRIPLE="aarch64-unknown-linux-gnu" \
|
|
||||||
-DLLVM_DEFAULT_TARGET_TRIPLE="aarch64-unknown-linux-gnu" \
|
|
||||||
-DCMAKE_C_FLAGS="$CFLAGS" \
|
|
||||||
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
|
|
||||||
-DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi" \
|
|
||||||
-DLLVM_ENABLE_PROJECTS="clang;lld;flang" \
|
|
||||||
-DCOMPILER_RT_BUILD_SANITIZERS=OFF \
|
|
||||||
-DCMAKE_INSTALL_PREFIX=./install && \
|
|
||||||
cmake --build build -- -j${MAX_JOBS}
|
|
||||||
# Work in progress [ Breaking due to x86 intrinsics not ported to Aarch64 ]
|
|
||||||
|
|
||||||
# Build pytorch
|
|
||||||
FROM ROCm AS pytorch
|
|
||||||
# Setup Envronment
|
|
||||||
ENV PYTORCH_ROCM_ARCH=1100
|
|
||||||
ENV USE_ROCM=1
|
|
||||||
ENV USE_CUDA=0
|
|
||||||
ENV USE_AOTRITON=0
|
|
||||||
ENV USE_SYSTEM_PTHREADPOOL=1
|
|
||||||
ENV USE_SYSTEM_PROTOC=1
|
|
||||||
ENV BUILD_CUSTOM_PROTOBUF=OFF
|
|
||||||
ENV USE_PYTORCH_QNNPACK=OFF
|
|
||||||
ENV USE_XNNPACK=OFF
|
|
||||||
ENV USE_ONNX=OFF
|
|
||||||
ENV USE_QNNPACK=OFF
|
|
||||||
ENV USE_NNPACK=OFF
|
|
||||||
ENV USE_KINETO=OFF
|
|
||||||
ENV USE_OPENMP=OFF
|
|
||||||
ENV USE_TENSORPIPE=OFF
|
|
||||||
ENV ROCM_PATH=/usr
|
|
||||||
ENV DEVICE_LIB_PATH=/usr/lib/llvm-21/lib/clang/21/amdgcn/bitcode
|
|
||||||
ENV HIPFLAGS="--rocm-device-lib-path=$DEVICE_LIB_PATH"
|
|
||||||
ENV CMAKE_ARGS="-DCMAKE_HIP_COMPILER_WORKS=1 \
|
|
||||||
-DCMAKE_CXX_COMPILER_WORKS=1 \
|
|
||||||
-DCMAKE_C_COMPILER_WORKS=1 \
|
|
||||||
-DCMAKE_HIP_COMPILER_ROCM_LIB_PATH=$DEVICE_LIB_PATH \
|
|
||||||
-DCMAKE_HIP_FLAGS=--rocm-device-lib-path=$DEVICE_LIB_PATH \
|
|
||||||
-DCMAKE_C_COMPILER=/usr/lib/llvm-21/bin/clang \
|
|
||||||
-DCMAKE_CXX_COMPILER=/usr/lib/llvm-21/bin/clang++ \
|
|
||||||
-DCMAKE_HIP_COMPILER=/usr/lib/llvm-21/bin/clang++ \
|
|
||||||
-DPython3_ROOT_DIR=/usr/local \
|
|
||||||
-DPYTHON_EXECUTABLE=/usr/local/bin/python3.11 \
|
|
||||||
-DPYTHON_LIBRARY=/usr/local/lib/libpython3.11.so \
|
|
||||||
-DPYTHON_INCLUDE_DIR=/usr/local/include/python3.11"
|
|
||||||
# Pull and build pytorch
|
|
||||||
WORKDIR /build/pytorch
|
|
||||||
RUN git clone https://github.com/pytorch/pytorch.git && \
|
|
||||||
cd pytorch && \
|
|
||||||
git submodule update --init --recursive && \
|
|
||||||
make triton && \
|
|
||||||
python tools/amd_build/build_amd.py && \
|
|
||||||
pip install -r requirements.txt && \
|
|
||||||
mkdir -p /opt/rocm/bin \
|
|
||||||
ln -s /usr/bin/hipcc /opt/rocm/bin/hipcc \
|
|
||||||
ln -s /usr/lib/llvm-21/bin/clang++ /usr/bin/clang++ \
|
|
||||||
python3 setup.py build && \
|
|
||||||
python3 setup.py install
|
|
||||||
# Failing
|
|
||||||
|
|
||||||
# Build pytorch-audio
|
|
||||||
FROM pytorch AS torchaudio
|
|
||||||
WORKDIR /build/torchaudio
|
|
||||||
|
|
||||||
# Build pytorch-vision
|
|
||||||
FROM torchaudio AS torchvision
|
|
||||||
WORKDIR /build/torchaudio
|
|
||||||
RUN git clone https://github.com/pytorch/vision.git
|
|
||||||
|
|
||||||
# Build final stripped down image
|
|
||||||
FROM ubuntu:26.04 as rocm-aarch64
|
|
||||||
# Copy in rocm, pytorch, torchaudio, torchvision
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Move to a new image | Build ComfyUI
|
|
||||||
FROM pytorch AS comfyui
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
RUN git clone https://github.com/comfyanonymous/ComfyUI.git .
|
RUN git clone https://github.com/comfyanonymous/ComfyUI.git .
|
||||||
RUN pip3 install -r requirements.txt
|
RUN pip3 install -r requirements.txt
|
||||||
|
|||||||
@@ -0,0 +1,153 @@
|
|||||||
|
# Use the LTS Ubuntu repo
|
||||||
|
FROM ubuntu:26.04 AS reqs
|
||||||
|
# Set global build variables
|
||||||
|
ENV PIP_BREAK_SYSTEM_PACKAGES=1
|
||||||
|
ENV PYTHONUNBUFFERED=1
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
ENV MAX_JOBS=10
|
||||||
|
# Install libraries
|
||||||
|
RUN apt update -y && \
|
||||||
|
apt upgrade -y && \
|
||||||
|
apt install -y --no-install-recommends \
|
||||||
|
ca-certificates \
|
||||||
|
wget \
|
||||||
|
curl \
|
||||||
|
git \
|
||||||
|
gfortran \
|
||||||
|
ninja-build \
|
||||||
|
g++ \
|
||||||
|
pkg-config \
|
||||||
|
xxd \
|
||||||
|
automake \
|
||||||
|
libtool \
|
||||||
|
libegl1-mesa-dev \
|
||||||
|
texinfo \
|
||||||
|
bison \
|
||||||
|
flex \
|
||||||
|
cmake \
|
||||||
|
build-essential \
|
||||||
|
zlib1g-dev \
|
||||||
|
libncurses5-dev \
|
||||||
|
libopenblas-dev \
|
||||||
|
libpthreadpool-dev \
|
||||||
|
libgoogle-glog-dev \
|
||||||
|
libgtest-dev \
|
||||||
|
libbenchmark-dev \
|
||||||
|
libgdbm-dev \
|
||||||
|
libnss3-dev \
|
||||||
|
libssl-dev \
|
||||||
|
libreadline-dev \
|
||||||
|
libffi-dev \
|
||||||
|
libsqlite3-dev \
|
||||||
|
libelf-dev \
|
||||||
|
libpciaccess-dev \
|
||||||
|
protobuf-compiler \
|
||||||
|
libprotobuf-dev \
|
||||||
|
libbz2-dev \
|
||||||
|
liblzma-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
# Tested Working
|
||||||
|
|
||||||
|
# Build python 3.11
|
||||||
|
FROM reqs AS python
|
||||||
|
WORKDIR /build/python
|
||||||
|
RUN wget https://www.python.org/ftp/python/3.11.15/Python-3.11.15.tgz && \
|
||||||
|
tar -xf Python-3.11.15.tgz && \
|
||||||
|
cd Python-3.11.15 && \
|
||||||
|
./configure --enable-optimizations --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib" && \
|
||||||
|
make -j 80 && \
|
||||||
|
make install && \
|
||||||
|
ldconfig /usr/local/lib && \
|
||||||
|
wget https://bootstrap.pypa.io/get-pip.py && \
|
||||||
|
python3 get-pip.py && \
|
||||||
|
ln -s /usr/local/bin/pip3 /bin/pip && \
|
||||||
|
ln -s /usr/local/bin/pip3 /bin/pip3 && \
|
||||||
|
ln -s /usr/local/bin/python3 /bin/python && \
|
||||||
|
ln -s /usr/local/bin/python3 /bin/python3.11
|
||||||
|
# Tested Working
|
||||||
|
|
||||||
|
# Build ROCm latest
|
||||||
|
FROM python AS ROCm
|
||||||
|
WORKDIR /build/therock
|
||||||
|
COPY ./TheRock .
|
||||||
|
ENV CFLAGS="-Wno-error=discarded-qualifiers -fcommon -w"
|
||||||
|
ENV CXXFLAGS="-Wno-error=discarded-qualifiers -fcommon -w"
|
||||||
|
RUN env INSTALL_PREFIX=/usr/local ./dockerfiles/install_pinned_patchelf.sh && \
|
||||||
|
pip install -r requirements.txt && \
|
||||||
|
cmake -S . -B build \
|
||||||
|
-G Ninja \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DTHEROCK_AMDGPU_TARGETS="gfx1100" \
|
||||||
|
-DTHEROCK_DIST_AMDGPU_FAMILIES="gfx1100" \
|
||||||
|
-DTHEROCK_AMDGPU_DIST_BUNDLE_NAME="gfx1100" \
|
||||||
|
-DLLVM_HOST_TRIPLE="aarch64-unknown-linux-gnu" \
|
||||||
|
-DLLVM_DEFAULT_TARGET_TRIPLE="aarch64-unknown-linux-gnu" \
|
||||||
|
-DCMAKE_C_FLAGS="$CFLAGS" \
|
||||||
|
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
|
||||||
|
-DLLVM_ENABLE_RUNTIMES="compiler-rt;libcxx;libcxxabi" \
|
||||||
|
-DLLVM_ENABLE_PROJECTS="clang;lld;flang" \
|
||||||
|
-DCOMPILER_RT_BUILD_SANITIZERS=OFF \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=./install && \
|
||||||
|
cmake --build build -- -j${MAX_JOBS}
|
||||||
|
# Work in progress [ Breaking due to x86 intrinsics not ported to Aarch64 ]
|
||||||
|
|
||||||
|
# Build pytorch
|
||||||
|
FROM ROCm AS pytorch
|
||||||
|
# Setup Envronment
|
||||||
|
ENV PYTORCH_ROCM_ARCH=1100
|
||||||
|
ENV USE_ROCM=1
|
||||||
|
ENV USE_CUDA=0
|
||||||
|
ENV USE_AOTRITON=0
|
||||||
|
ENV USE_SYSTEM_PTHREADPOOL=1
|
||||||
|
ENV USE_SYSTEM_PROTOC=1
|
||||||
|
ENV BUILD_CUSTOM_PROTOBUF=OFF
|
||||||
|
ENV USE_PYTORCH_QNNPACK=OFF
|
||||||
|
ENV USE_XNNPACK=OFF
|
||||||
|
ENV USE_ONNX=OFF
|
||||||
|
ENV USE_QNNPACK=OFF
|
||||||
|
ENV USE_NNPACK=OFF
|
||||||
|
ENV USE_KINETO=OFF
|
||||||
|
ENV USE_OPENMP=OFF
|
||||||
|
ENV USE_TENSORPIPE=OFF
|
||||||
|
ENV ROCM_PATH=/usr
|
||||||
|
ENV DEVICE_LIB_PATH=/usr/lib/llvm-21/lib/clang/21/amdgcn/bitcode
|
||||||
|
ENV HIPFLAGS="--rocm-device-lib-path=$DEVICE_LIB_PATH"
|
||||||
|
ENV CMAKE_ARGS="-DCMAKE_HIP_COMPILER_WORKS=1 \
|
||||||
|
-DCMAKE_CXX_COMPILER_WORKS=1 \
|
||||||
|
-DCMAKE_C_COMPILER_WORKS=1 \
|
||||||
|
-DCMAKE_HIP_COMPILER_ROCM_LIB_PATH=$DEVICE_LIB_PATH \
|
||||||
|
-DCMAKE_HIP_FLAGS=--rocm-device-lib-path=$DEVICE_LIB_PATH \
|
||||||
|
-DCMAKE_C_COMPILER=/usr/lib/llvm-21/bin/clang \
|
||||||
|
-DCMAKE_CXX_COMPILER=/usr/lib/llvm-21/bin/clang++ \
|
||||||
|
-DCMAKE_HIP_COMPILER=/usr/lib/llvm-21/bin/clang++ \
|
||||||
|
-DPython3_ROOT_DIR=/usr/local \
|
||||||
|
-DPYTHON_EXECUTABLE=/usr/local/bin/python3.11 \
|
||||||
|
-DPYTHON_LIBRARY=/usr/local/lib/libpython3.11.so \
|
||||||
|
-DPYTHON_INCLUDE_DIR=/usr/local/include/python3.11"
|
||||||
|
# Pull and build pytorch
|
||||||
|
WORKDIR /build/pytorch
|
||||||
|
RUN git clone https://github.com/pytorch/pytorch.git && \
|
||||||
|
cd pytorch && \
|
||||||
|
git submodule update --init --recursive && \
|
||||||
|
make triton && \
|
||||||
|
python tools/amd_build/build_amd.py && \
|
||||||
|
pip install -r requirements.txt && \
|
||||||
|
mkdir -p /opt/rocm/bin \
|
||||||
|
ln -s /usr/bin/hipcc /opt/rocm/bin/hipcc \
|
||||||
|
ln -s /usr/lib/llvm-21/bin/clang++ /usr/bin/clang++ \
|
||||||
|
python3 setup.py build && \
|
||||||
|
python3 setup.py install
|
||||||
|
# Failing
|
||||||
|
|
||||||
|
# Build pytorch-audio
|
||||||
|
FROM pytorch AS torchaudio
|
||||||
|
WORKDIR /build/torchaudio
|
||||||
|
|
||||||
|
# Build pytorch-vision
|
||||||
|
FROM torchaudio AS torchvision
|
||||||
|
WORKDIR /build/torchaudio
|
||||||
|
RUN git clone https://github.com/pytorch/vision.git
|
||||||
|
|
||||||
|
# Build final stripped down image
|
||||||
|
FROM ubuntu:26.04 as rocm-aarch64
|
||||||
|
# Copy in rocm, pytorch, torchaudio, torchvision
|
||||||
Reference in New Issue
Block a user