added prebuilts common image
This commit is contained in:
parent
7daec372c7
commit
1ca5f4f70a
56
prebuilts/Dockerfile
Normal file
56
prebuilts/Dockerfile
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
FROM rocm/dev-ubuntu-22.04:6.1.2
|
||||||
|
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive \
|
||||||
|
PYTHONUNBUFFERED=1 \
|
||||||
|
PYTHONIOENCODING=UTF-8 \
|
||||||
|
|
||||||
|
# for bitsandbytes
|
||||||
|
ROCM_ARCH="gfx1030" \
|
||||||
|
TORCH_VERSION="rocm6.1" \
|
||||||
|
|
||||||
|
# for llama
|
||||||
|
CMAKE_ARGS="-DGGML_HIPBLAS=on" \
|
||||||
|
FORCE_CMAKE=1
|
||||||
|
|
||||||
|
|
||||||
|
WORKDIR /tmp
|
||||||
|
|
||||||
|
RUN apt-get update -y
|
||||||
|
RUN apt-get install -y wget git cron cmake make software-properties-common
|
||||||
|
|
||||||
|
# Install python3.10
|
||||||
|
RUN add-apt-repository ppa:deadsnakes/ppa -y && apt-get update -y
|
||||||
|
RUN apt-get install -y python3.10 python3.10-dev python3.10-venv
|
||||||
|
|
||||||
|
ENV VIRTUAL_ENV=/opt/venv
|
||||||
|
RUN python3.10 -m venv $VIRTUAL_ENV
|
||||||
|
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
|
||||||
|
|
||||||
|
RUN pip3 install --upgrade pip wheel setuptools build
|
||||||
|
|
||||||
|
# Install pytorch for rocm
|
||||||
|
RUN pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/${TORCH_VERSION}
|
||||||
|
|
||||||
|
|
||||||
|
# ROCM bitsandbytes
|
||||||
|
RUN apt-get install -y hipblas hipblaslt hiprand hipsparse hipcub rocthrust-dev
|
||||||
|
## Clone repo and install python requirements
|
||||||
|
RUN git clone --depth 1 -b multi-backend-refactor https://github.com/bitsandbytes-foundation/bitsandbytes.git
|
||||||
|
WORKDIR /tmp/bitsandbytes
|
||||||
|
RUN pip3 install -r requirements-dev.txt
|
||||||
|
## Build
|
||||||
|
RUN cmake -DCOMPUTE_BACKEND=hip -S . -DBNB_ROCM_ARCH=${ROCM_ARCH}
|
||||||
|
RUN make
|
||||||
|
RUN python3.10 setup.py bdist_wheel --universal
|
||||||
|
|
||||||
|
|
||||||
|
# ROCM llama-cpp-python
|
||||||
|
RUN apt-get install -y hipblas hipblaslt hiprand hipsparse hipcub rocthrust-dev
|
||||||
|
## Clone repo and install python requirements
|
||||||
|
RUN git clone --recurse-submodules https://github.com/abetlen/llama-cpp-python.git
|
||||||
|
WORKDIR /tmp/llama-cpp-python
|
||||||
|
RUN python3.10 -m build --wheel
|
||||||
|
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
RUN apt-get clean && pip3 cache purge
|
1
prebuilts/build.sh
Executable file
1
prebuilts/build.sh
Executable file
@ -0,0 +1 @@
|
|||||||
|
docker build . -t 'prebuilts-rocm:6.1.2' -f Dockerfile
|
27
prebuilts/extract_build.sh
Executable file
27
prebuilts/extract_build.sh
Executable file
@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Set variables
|
||||||
|
IMAGE_NAME="prebuilts-rocm:6.1.2"
|
||||||
|
CONTAINER_NAME="prebuilts-rocm"
|
||||||
|
FILES_TO_COPY=["/tmp/bitsandbytes/dist/", "/tmp/llama-cpp-python/dist/"]
|
||||||
|
WHERE_TO_PASTE="./build_output/"
|
||||||
|
|
||||||
|
# Run the Docker container
|
||||||
|
docker run -d --name $CONTAINER_NAME $IMAGE_NAME
|
||||||
|
|
||||||
|
# Check if the container is running
|
||||||
|
if [ "$(docker ps -q -f name=$CONTAINER_NAME)" ]; then
|
||||||
|
echo "Container $CONTAINER_NAME is running."
|
||||||
|
|
||||||
|
# Copy the files from the container to the host
|
||||||
|
for file in $FILES_TO_COPY; do
|
||||||
|
docker cp $CONTAINER_NAME:$file $WHERE_TO_PASTE
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Files copied to $WHERE_TO_PASTE."
|
||||||
|
else
|
||||||
|
echo "Failed to start container $CONTAINER_NAME."
|
||||||
|
fi
|
||||||
|
|
||||||
|
docker stop $CONTAINER_NAME
|
||||||
|
docker rm $CONTAINER_NAME
|
Loading…
Reference in New Issue
Block a user