mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-01-09 13:50:49 +08:00
ROCm support
This commit is contained in:
parent
85474cee78
commit
3de77f6e24
34
.github/workflows/test.yml
vendored
34
.github/workflows/test.yml
vendored
@ -79,33 +79,39 @@ jobs:
|
|||||||
friendly_name: "Python 3.12 ROCm 7.0 Torch 2.7.1"
|
friendly_name: "Python 3.12 ROCm 7.0 Torch 2.7.1"
|
||||||
container: "rocm/pytorch:rocm7.0_ubuntu24.04_py3.12_pytorch_release_2.7.1"
|
container: "rocm/pytorch:rocm7.0_ubuntu24.04_py3.12_pytorch_release_2.7.1"
|
||||||
steps:
|
steps:
|
||||||
- run: |
|
|
||||||
apt-get update
|
|
||||||
# required for opencv
|
|
||||||
apt-get install --no-install-recommends -y ffmpeg libsm6 libxext6
|
|
||||||
name: Prepare Python
|
|
||||||
- run: |
|
- run: |
|
||||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||||
name: Install uv
|
name: Install uv
|
||||||
|
- name: Align ROCm to Image
|
||||||
|
run: |
|
||||||
|
# our testing infrastructure uses RX 7XXX GPUs, this includes express support for gfx1102, gfx1101 which will resolve crashes
|
||||||
|
export UV_PRERELEASE=allow
|
||||||
|
uv pip install --index-url https://rocm.nightlies.amd.com/v2/gfx110X-dgpu/ "rocm[libraries]<7.9" "torch==2.7.1+rocm7.0.0rc20250922" "torchaudio==2.7.1a0+rocm7.0.0rc20250922" "torchvision==0.22.1+rocm7.0.0rc20250922" "pytorch_triton_rocm" --pre
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
name: Checkout git repo
|
name: Checkout git repo
|
||||||
|
with:
|
||||||
|
path: src
|
||||||
|
- run: |
|
||||||
|
apt install libsndfile1 -y --no-install-recommends
|
||||||
|
name: sndfile Dependency
|
||||||
|
- name: Write Overrides
|
||||||
|
run: |
|
||||||
|
echo ${GITHUB_WORKSPACE}
|
||||||
|
touch overrides.txt
|
||||||
|
uv pip freeze | grep -E 'torch|rocm|numpy|opencv' >> overrides.txt
|
||||||
|
echo "sentry-sdk; python_version < '0'" >> overrides.txt
|
||||||
- name: Install ComfyUI
|
- name: Install ComfyUI
|
||||||
run: |
|
run: |
|
||||||
export UV_BREAK_SYSTEM_PACKAGES=true
|
export UV_PRERELEASE=allow
|
||||||
export UV_SYSTEM_PYTHON=true
|
|
||||||
pip freeze | grep nvidia >> overrides.txt; pip freeze | grep torch >> overrides.txt; pip freeze | grep opencv >> overrides.txt; pip freeze | grep numpy >> overrides.txt; echo "sentry-sdk; python_version < '0'" >> overrides.txt
|
|
||||||
export UV_OVERRIDE=overrides.txt
|
export UV_OVERRIDE=overrides.txt
|
||||||
export UV_TORCH_BACKEND=auto
|
uv pip install "comfyui[rocm,dev]@${GITHUB_WORKSPACE}/src"
|
||||||
|
|
||||||
# our testing infrastructure uses RX 7600, this includes express support for gfx1102
|
|
||||||
uv pip install --no-deps --index-url https://rocm.nightlies.amd.com/v2/gfx110X-dgpu/ "rocm[libraries,devel]"
|
|
||||||
|
|
||||||
uv pip install --torch-backend=auto ".[rocm]"
|
|
||||||
- name: Lint for errors
|
- name: Lint for errors
|
||||||
run: |
|
run: |
|
||||||
|
cd ${GITHUB_WORKSPACE}/src
|
||||||
pylint --rcfile=.pylintrc comfy/ comfy_extras/ comfy_api/ comfy_api_nodes/
|
pylint --rcfile=.pylintrc comfy/ comfy_extras/ comfy_api/ comfy_api_nodes/
|
||||||
- name: Run unit tests
|
- name: Run unit tests
|
||||||
run: |
|
run: |
|
||||||
|
cd ${GITHUB_WORKSPACE}/src
|
||||||
pytest -v tests/unit
|
pytest -v tests/unit
|
||||||
build_and_execute_macos:
|
build_and_execute_macos:
|
||||||
environment: "Testing"
|
environment: "Testing"
|
||||||
|
|||||||
@ -4,8 +4,6 @@ ENV TZ="Etc/UTC"
|
|||||||
|
|
||||||
ENV UV_COMPILE_BYTECODE=1
|
ENV UV_COMPILE_BYTECODE=1
|
||||||
ENV UV_NO_CACHE=1
|
ENV UV_NO_CACHE=1
|
||||||
ENV UV_SYSTEM_PYTHON=1
|
|
||||||
ENV UV_BREAK_SYSTEM_PACKAGES=1
|
|
||||||
ENV PIP_DISABLE_PIP_VERSION_CHECK=1
|
ENV PIP_DISABLE_PIP_VERSION_CHECK=1
|
||||||
ENV PIP_NO_CACHE_DIR=1
|
ENV PIP_NO_CACHE_DIR=1
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
@ -13,15 +11,15 @@ ENV DEBIAN_FRONTEND=noninteractive
|
|||||||
ENV LANG=C.UTF-8
|
ENV LANG=C.UTF-8
|
||||||
ENV LC_ALL=C.UTF-8
|
ENV LC_ALL=C.UTF-8
|
||||||
|
|
||||||
RUN pip freeze | grep nvidia >> /overrides.txt; pip freeze | grep torch >> /overrides.txt; pip freeze | grep opencv >> /overrides.txt; pip freeze | grep numpy >> /overrides.txt; echo "sentry-sdk; python_version < '0'" >> /overrides.txt
|
RUN uv pip freeze | grep torch >> /overrides.txt; uv pip freeze | grep opencv >> /overrides.txt; uv pip freeze | grep numpy >> /overrides.txt; uv pip freeze | grep rocm >> /overrides.txt; echo "sentry-sdk; python_version < '0'" >> /overrides.txt
|
||||||
|
|
||||||
ENV UV_OVERRIDE=/overrides.txt
|
ENV UV_OVERRIDE=/overrides.txt
|
||||||
ENV UV_TORCH_BACKEND=auto
|
env UV_PRERELEASE=allow
|
||||||
|
|
||||||
# mitigates AttributeError: module 'cv2.dnn' has no attribute 'DictValue' \
|
# mitigates AttributeError: module 'cv2.dnn' has no attribute 'DictValue' \
|
||||||
# see https://github.com/facebookresearch/nougat/issues/40
|
# see https://github.com/facebookresearch/nougat/issues/40
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get install --no-install-recommends -y ffmpeg libsm6 libxext6 && \
|
apt-get install --no-install-recommends -y ffmpeg libsm6 libxext6 libsndfile1 && \
|
||||||
pip install uv && uv --version && \
|
pip install uv && uv --version && \
|
||||||
apt-get purge -y && \
|
apt-get purge -y && \
|
||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
@ -42,7 +40,7 @@ RUN uv pip install $SOURCES
|
|||||||
WORKDIR /workspace
|
WORKDIR /workspace
|
||||||
# addresses https://github.com/pytorch/pytorch/issues/104801
|
# addresses https://github.com/pytorch/pytorch/issues/104801
|
||||||
# and issues reported by importing nodes_canny
|
# and issues reported by importing nodes_canny
|
||||||
RUN comfyui --quick-test-for-ci --cpu --cwd /workspace
|
RUN python -c "import torch; import transformers; from transformers import AutoProcessor, BatchFeature; import torchaudio; import cv2" && comfyui --quick-test-for-ci --cpu --cwd /workspace
|
||||||
|
|
||||||
EXPOSE 8188
|
EXPOSE 8188
|
||||||
CMD ["python", "-m", "comfy.cmd.main", "--listen"]
|
CMD ["python", "-m", "comfy.cmd.main", "--listen"]
|
||||||
@ -27,7 +27,7 @@ dependencies = [
|
|||||||
"torchsde>=0.2.6",
|
"torchsde>=0.2.6",
|
||||||
"einops>=0.6.0",
|
"einops>=0.6.0",
|
||||||
"open-clip-torch>=2.24.0",
|
"open-clip-torch>=2.24.0",
|
||||||
"transformers!=4.53.0,!=4.53.1,!=4.53.2",
|
"transformers>=4.46.0,!=4.53.0,!=4.53.1,!=4.53.2",
|
||||||
"tokenizers>=0.13.3",
|
"tokenizers>=0.13.3",
|
||||||
"sentencepiece",
|
"sentencepiece",
|
||||||
"peft>=0.10.0",
|
"peft>=0.10.0",
|
||||||
@ -161,7 +161,8 @@ cu128 = [
|
|||||||
rocm = [
|
rocm = [
|
||||||
"torch",
|
"torch",
|
||||||
"torchvision",
|
"torchvision",
|
||||||
"pytorch-triton-rocm"
|
"pytorch-triton-rocm",
|
||||||
|
"rocm[libraries,devel]",
|
||||||
]
|
]
|
||||||
|
|
||||||
mps = [
|
mps = [
|
||||||
@ -204,6 +205,7 @@ no-build-isolation-package = [
|
|||||||
"sage-attention",
|
"sage-attention",
|
||||||
"flash_attn",
|
"flash_attn",
|
||||||
]
|
]
|
||||||
|
prerelease = "allow"
|
||||||
|
|
||||||
[[tool.uv.index]]
|
[[tool.uv.index]]
|
||||||
name = "pytorch-cpu"
|
name = "pytorch-cpu"
|
||||||
@ -224,7 +226,7 @@ explicit = true
|
|||||||
name = "pytorch-rocm"
|
name = "pytorch-rocm"
|
||||||
url = "https://repo.radeon.com/rocm/manylinux/rocm-rel-7.0/"
|
url = "https://repo.radeon.com/rocm/manylinux/rocm-rel-7.0/"
|
||||||
format = "flat"
|
format = "flat"
|
||||||
explicit = true
|
explicit = false
|
||||||
|
|
||||||
[[tool.uv.index]]
|
[[tool.uv.index]]
|
||||||
name = "pytorch-nightly-cpu"
|
name = "pytorch-nightly-cpu"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user