This repository has been archived on 2026-08-19. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
2026-08-20 00:45:43 +02:00

85 lines
2.4 KiB
Bash

#!/bin/bash
# =============================================================
# PyTorch 2.5.1 Build for AMD BC-250 — native gfx1010 target
# ROCm 7.2 on CachyOS
# =============================================================
set -euo pipefail
echo "=========================================="
echo " PyTorch Build — gfx1010 for BC-250"
echo "=========================================="
# ========== PHASE 1: Clone ==========
if [ ! -d ~/pytorch-build ]; then
echo "[1/5] Cloning PyTorch v2.5.1 (full recursive)..."
cd ~
git clone --recursive --branch v2.5.1 https://github.com/pytorch/pytorch.git pytorch-build
else
echo "[1/5] Source already exists, skipping clone"
fi
cd ~/pytorch-build
# ========== PHASE 2: Venv + deps ==========
echo "[2/5] Installing build dependencies..."
source ~/ComfyUI/venv/bin/activate
pip install -q cmake ninja pyyaml typing-extensions numpy setuptools wheel cffi
# ========== PHASE 3: Hipify ==========
echo "[3/5] Running hipify (CUDA → HIP conversion)..."
python tools/amd_build/build_amd.py
# ========== PHASE 4: Environment ==========
echo "[4/5] Configuring build environment..."
# ROCm paths
export ROCM_PATH=/opt/rocm
export HIP_PATH=/opt/rocm
export ROCM_HOME=/opt/rocm
export PATH="/opt/rocm/bin:/opt/rocm/llvm/bin:$PATH"
export LD_LIBRARY_PATH="/opt/rocm/lib:${LD_LIBRARY_PATH:-}"
# Target gfx1010 (RDNA1 — closest supported arch for BC-250 gfx1013)
export PYTORCH_ROCM_ARCH="gfx1010"
export AMDGPU_TARGETS="gfx1010"
# Build config
export USE_ROCM=1
export USE_CUDA=0
export USE_CUDNN=0
export USE_NCCL=0
export USE_DISTRIBUTED=0
export USE_MKLDNN=1
export USE_OPENMP=1
export BUILD_TEST=0
export USE_FLASH_ATTENTION=0
export USE_MEM_EFF_ATTENTION=0
export REL_WITH_DEB_INFO=0
export CMAKE_BUILD_TYPE=Release
export CMAKE_POLICY_VERSION_MINIMUM=3.5
# Parallelism — 12 cores, 14GB RAM, be conservative
export MAX_JOBS=4
export NINJA_STATUS="[%f/%t %e] "
# Compiler
export CC=gcc
export CXX=g++
echo " PYTORCH_ROCM_ARCH=$PYTORCH_ROCM_ARCH"
echo " MAX_JOBS=$MAX_JOBS"
echo " ROCM_PATH=$ROCM_PATH"
echo " Python: $(python --version)"
# ========== PHASE 5: Build ==========
echo "[5/5] Building PyTorch wheel..."
echo " Start: $(date)"
python setup.py bdist_wheel
echo ""
echo "=========================================="
echo " Build complete: $(date)"
echo "=========================================="
ls -lh dist/*.whl 2>/dev/null || echo "ERROR: No wheel found!"