rikunarita-2 commited on
Commit
1eb0a6e
·
verified ·
1 Parent(s): 763647c

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +12 -24
Dockerfile CHANGED
@@ -1,7 +1,7 @@
1
- FROM python:3.13-slim
2
 
3
  # ------------------------------------------------
4
- # システムパッケージ & jemalloc の導入
5
  # ------------------------------------------------
6
  RUN apt-get update && \
7
  apt-get install -y --no-install-recommends \
@@ -16,26 +16,18 @@ RUN apt-get update && \
16
  RUN useradd -rm -d /home/hf -s /bin/bash -g root -G sudo -u 1001 hf
17
 
18
  # ------------------------------------------------
19
- # 基本環境変数
20
  # ------------------------------------------------
21
  ENV TRANSFORMERS_CACHE=/tmp/hf_cache
22
  ENV HF_HOME=/tmp/hf_cache
23
  ENV PYTHONUNBUFFERED=1
24
  ENV PYTHONDONTWRITEBYTECODE=1
25
 
26
- # 💡 バグ修正:構文エラーを直し、jemallocによるメモリ断片化抑制を確実に有効化
27
  ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2
28
  ENV MALLOC_CONF="background_thread:true,metadata_thp:auto,dirty_decay_ms:20000,muzzy_decay_ms:20000"
29
 
30
- # ------------------------------------------------
31
- # OpenMP / スレッドチューニング(コンテナ環境向け最適化)
32
- # ------------------------------------------------
33
- # 💡 仮想化(vCPU)コンテナ環境の鉄則である「PASSIVE」に変更。
34
- # 無駄なスレッドのスピン(CPUの奪い合い)を排除し、処理効率を劇的に向上させます。
35
- ENV OMP_WAIT_POLICY=PASSIVE
36
- ENV KMP_BLOCKTIME=0
37
-
38
- # oneDNN チューニング(BF16高速化を有効化)
39
  ENV DNNL_DEFAULT_FPMATH_MODE=BF16
40
  ENV ONEDNN_PRIMITIVE_CACHE_CAPACITY=512
41
 
@@ -43,7 +35,7 @@ WORKDIR /home/hf
43
  USER hf
44
 
45
  # ------------------------------------------------
46
- # ComfyUI のセッアップ
47
  # ------------------------------------------------
48
  RUN git clone https://github.com/comfyanonymous/ComfyUI
49
  WORKDIR /home/hf/ComfyUI
@@ -52,15 +44,14 @@ ENV VIRTUAL_ENV=/home/hf/ComfyUI/venv
52
  RUN python3 -m venv $VIRTUAL_ENV
53
  ENV PATH="$VIRTUAL_ENV/bin:$PATH"
54
 
55
- # 💡 変更CPU専用版PyTorchを明示的にインストール。
56
- # これによりIntel CPUのoneDNN(高速化命令)直接叩ける最適バイナリが導入されます。
57
  RUN pip install --no-cache-dir --upgrade pip && \
58
- pip install --no-cache-dir torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu && \
59
- pip install --no-cache-dir -r requirements.txt && \
60
- pip install --no-cache-dir intel-extension-for-pytorch
61
 
62
  # ------------------------------------------------
63
- # モデルのダウンロード(高速化のためレイヤーを統合)
64
  # ------------------------------------------------
65
  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/ && \
66
  wget -nv -c https://huggingface.co/circlestone-labs/Anima/resolve/main/split_files/text_encoders/qwen_3_06b_base.safetensors -P ./models/text_encoders/ && \
@@ -69,11 +60,8 @@ RUN wget -nv -c https://huggingface.co/circlestone-labs/Anima/resolve/main/split
69
  RUN mkdir temp && chmod 777 temp
70
 
71
  # ------------------------------------------------
72
- # 5. 起動コマンド(シェルスクリプトによる安全かつ厳密なコア数自動検知)
73
  # ------------------------------------------------
74
- # 💡 完璧な修正:Pythonのインデントエラーを徹底排除。
75
- # Linux標準のシェル演算 $(( (quota + period - 1) / period )) を使い、
76
- # cgroupsから割り当てられた実効コア数を安全かつ正確に自動計算(切り上げ)します。
77
  CMD quota_v2="/sys/fs/cgroup/cpu.max"; \
78
  quota_v1="/sys/fs/cgroup/cpu/cpu.cfs_quota_us"; \
79
  period_v1="/sys/fs/cgroup/cpu/cpu.cfs_period_us"; \
 
1
+ FROM python:3.11-slim
2
 
3
  # ------------------------------------------------
4
+ # 1. システムパッケージ & jemalloc の導入
5
  # ------------------------------------------------
6
  RUN apt-get update && \
7
  apt-get install -y --no-install-recommends \
 
16
  RUN useradd -rm -d /home/hf -s /bin/bash -g root -G sudo -u 1001 hf
17
 
18
  # ------------------------------------------------
19
+ # 2. 基本環境変数 & メモリアロケータ最適化
20
  # ------------------------------------------------
21
  ENV TRANSFORMERS_CACHE=/tmp/hf_cache
22
  ENV HF_HOME=/tmp/hf_cache
23
  ENV PYTHONUNBUFFERED=1
24
  ENV PYTHONDONTWRITEBYTECODE=1
25
 
 
26
  ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2
27
  ENV MALLOC_CONF="background_thread:true,metadata_thp:auto,dirty_decay_ms:20000,muzzy_decay_ms:20000"
28
 
29
+ # 💡 チューニング:全力でCPUを回すため WAIT_POLICY をデフォルト(ACTIVE側)に戻します
30
+ ENV KMP_BLOCKTIME=1
 
 
 
 
 
 
 
31
  ENV DNNL_DEFAULT_FPMATH_MODE=BF16
32
  ENV ONEDNN_PRIMITIVE_CACHE_CAPACITY=512
33
 
 
35
  USER hf
36
 
37
  # ------------------------------------------------
38
+ # 3. ComfyUI の展開と、デグレードを起こさない pip インスール
39
  # ------------------------------------------------
40
  RUN git clone https://github.com/comfyanonymous/ComfyUI
41
  WORKDIR /home/hf/ComfyUI
 
44
  RUN python3 -m venv $VIRTUAL_ENV
45
  ENV PATH="$VIRTUAL_ENV/bin:$PATH"
46
 
47
+ # 💡 完璧な修正すべてのインストールで一貫して --index-url を指定
48
+ # かつ最後に CPU専用版 torch 上書きすことで、確実に OpenMP/oneDNN 最適バイナリを固定します。
49
  RUN pip install --no-cache-dir --upgrade pip && \
50
+ pip install --no-cache-dir -r requirements.txt --index-url https://download.pytorch.org/whl/cpu && \
51
+ pip install --no-cache-dir torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
 
52
 
53
  # ------------------------------------------------
54
+ # 4. モデルのダウンロード
55
  # ------------------------------------------------
56
  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/ && \
57
  wget -nv -c https://huggingface.co/circlestone-labs/Anima/resolve/main/split_files/text_encoders/qwen_3_06b_base.safetensors -P ./models/text_encoders/ && \
 
60
  RUN mkdir temp && chmod 777 temp
61
 
62
  # ------------------------------------------------
63
+ # 5. 起動コマンド(動検知 + 確実なコア割り当て
64
  # ------------------------------------------------
 
 
 
65
  CMD quota_v2="/sys/fs/cgroup/cpu.max"; \
66
  quota_v1="/sys/fs/cgroup/cpu/cpu.cfs_quota_us"; \
67
  period_v1="/sys/fs/cgroup/cpu/cpu.cfs_period_us"; \