File size: 4,379 Bytes
1eb0a6e 551c222 1eb0a6e 551c222 3a5ed88 551c222 1eb0a6e 551c222 5ce9a4b 551c222 4c48102 551c222 af023a0 551c222 1eb0a6e 551c222 4c48102 af023a0 3f52be4 551c222 1eb0a6e 551c222 3a5ed88 52bd75d 3a5ed88 551c222 3a5ed88 4c48102 3a5ed88 03bf791 3a5ed88 02f78cf 9f91b0f 02f78cf 4c48102 3a5ed88 52bd75d 3a5ed88 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | FROM python:3.11-slim
# ------------------------------------------------
# 1. システムパッケージ & jemalloc の導入
# ------------------------------------------------
RUN apt-get update && \
apt-get install -y --no-install-recommends \
git \
wget \
gcc \
g++ \
libjemalloc2 && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN useradd -rm -d /home/hf -s /bin/bash -g root -G sudo -u 1001 hf
# ------------------------------------------------
# 2. 基本環境変数 & メモリアロケータ最適化
# ------------------------------------------------
ENV TRANSFORMERS_CACHE=/tmp/hf_cache
ENV HF_HOME=/tmp/hf_cache
ENV PYTHONUNBUFFERED=1
ENV PYTHONDONTWRITEBYTECODE=1
ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2
ENV MALLOC_CONF="background_thread:true,metadata_thp:auto,dirty_decay_ms:100,muzzy_decay_ms:0"
# 💡 復活・最強設定:スレッドを絶対眠らせず、常に最速のレスポンスを維持
ENV OMP_WAIT_POLICY=ACTIVE
ENV KMP_BLOCKTIME=infinite
# oneDNN チューニング
ENV DNNL_DEFAULT_FPMATH_MODE=BF16
ENV ONEDNN_PRIMITIVE_CACHE_CAPACITY=512
WORKDIR /home/hf
USER hf
# ------------------------------------------------
# 3. ComfyUI の展開と、デグレードを起こさない pip インストール
# ------------------------------------------------
RUN git clone https://github.com/comfyanonymous/ComfyUI
WORKDIR /home/hf/ComfyUI
ENV VIRTUAL_ENV=/home/hf/ComfyUI/venv
RUN python3 -m venv $VIRTUAL_ENV
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
# 💡 成功パターン:CPU専用版PyTorchのクリーンインストール
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu && \
pip install --no-cache-dir -r requirements.txt
# ------------------------------------------------
# 4. モデルのダウンロード
# ------------------------------------------------
RUN wget -nv -c https://huggingface.co/circlestone-labs/Anima/resolve/main/split_files/diffusion_models/anima-base-v1.0.safetensors -P ./models/diffusion_models/ && \
wget -nv -c https://huggingface.co/Rikunarita-ORG/REED_Anima_XXX_v1.1/resolve/main/reedAnimaXXX_v11.safetensors -P ./models/diffusion_models/ && \
wget -nv -c https://huggingface.co/oron1208/OOO_Anima/resolve/main/model/OOO_Anima_v10.safetensors -P ./models/diffusion_models/ && \
wget -nv -c https://huggingface.co/circlestone-labs/Anima/resolve/main/split_files/text_encoders/qwen_3_06b_base.safetensors -P ./models/text_encoders/ && \
wget -nv -c https://huggingface.co/circlestone-labs/Anima/resolve/main/split_files/vae/qwen_image_vae.safetensors -P ./models/vae/
RUN mkdir temp && chmod 777 temp
# ------------------------------------------------
# 5. 起動コマンド(動的コア検知 + スレッド緊縛 + 常時100%駆動)
# ------------------------------------------------
CMD quota_v2="/sys/fs/cgroup/cpu.max"; \
quota_v1="/sys/fs/cgroup/cpu/cpu.cfs_quota_us"; \
period_v1="/sys/fs/cgroup/cpu/cpu.cfs_period_us"; \
COMPUTE_CORES=""; \
if [ -f "$quota_v2" ]; then \
read -r q p < "$quota_v2"; \
if [ "$q" != "max" ] && [ "$p" -gt 0 ]; then \
COMPUTE_CORES=$(( (q + p - 1) / p )); \
fi; \
elif [ -f "$quota_v1" ] && [ -f "$period_v1" ]; then \
q=$(cat "$quota_v1"); p=$(cat "$period_v1"); \
if [ "$q" -gt 0 ] && [ "$p" -gt 0 ]; then \
COMPUTE_CORES=$(( (q + p - 1) / p )); \
fi; \
fi; \
if [ -z "$COMPUTE_CORES" ] || [ "$COMPUTE_CORES" -le 0 ]; then \
COMPUTE_CORES=$(nproc); \
fi; \
export OMP_NUM_THREADS=$COMPUTE_CORES && \
export MKL_NUM_THREADS=$COMPUTE_CORES && \
export TORCH_NUM_THREADS=$COMPUTE_CORES && \
export OMP_PROC_BIND=CLOSE && \
export OMP_PLACES=CORES && \
export OMP_SCHEDULE=STATIC && \
export KMP_AFFINITY=granularity=fine,compact,1,0 && \
echo "=== 🚀 Ultimate 100% CPU Threading Engaged: $COMPUTE_CORES Cores ===" && \
python main.py \
--cpu \
--listen 0.0.0.0 \
--port 7860 \
--output-directory ./temp \
--bf16-unet \
--bf16-vae \
--bf16-text-enc \
--use-pytorch-cross-attention \
--mmap-torch-files \
--preview-method none |