看板 PC_Shopping 關於我們 聯絡資訊
ComfyUI_Win_portable_RDNA4 TRFv0.2-Lite 200260311 https://drive.google.com/file/d/1KeyJg-cudGQ2G0QiThrRKGHDiSQcwEGX/view?usp=sharing 此為沒有任何基礎模型的便攜包 針對RDNA4 RX9070X優化的版本 架構環境 ComfyUI v0.16.4 Python version: 3.13.11 Pytorch version: 2.12.0a0+rocm7.12.0a20260218 triton_windows-3.6.0.post26 20260309 這次主要增加sage-attention triton自定義參數設定 https://drive.google.com/file/d/11PjKHXraivbEeJP-RbJjN0e7KXOJ9TjH/view?usp=sharing 這是修改過後的文件 已經放進去便攜包內 在西台灣的QQ群已經測試了一陣子 靈感來自於這裡 https://github.com/Dao-AILab/flash-attention/pull/2239 我參考上面文章的flash-attention調優算子 利用gemini針對RNDA架構 優化了sage-attention triton 並且可以使用環境變數加以調整 目前預設使用 set SAGEATTN_M=128 set SAGEATTN_N=16 set SAGEATTN_GM=16 set SAGEATTN_WAVE=4 set SAGEATTN_WARP=4 set SAGEATTN_NSTAGES=1 set SAGEATTN_CAUSAL_STAGE=3 參數說明 1. SAGEATTN_M (BLOCK_M) 定義:Query 分塊大小 (Query Block Size)。決定 GPU 一次處理多少列的 Query 矩陣 。 選項:64 (推薦), 128 (激進)。 影響: 越大 (128):理論上能減少讀取 K/V 的次數(節省頻寬),速度通常較快。 副作用:會佔用大量的 SRAM (LDS) 和 暫存器 (VGPR)。 2. SAGEATTN_N (BLOCK_N) 定義:Key/Value 分塊大小 (Key/Value Block Size)。決定 GPU 一次讀取多少列的 K/V 。 3. SAGEATTN_GM (GROUP_SIZE_M) 定義:L2 Cache 分組大小 (L2 Swizzling)。決定有多少個 Query Block 共用同一份 K/V 數據。 影響: 數值越高:K/V 讀取次數越少(省頻寬)。 代價:GPU 必須同時在 L2 Cache 里暫存 (M × GM) 這麼大塊的輸出結果 (Accumulator)。 4. SAGEATTN_WAVE (waves_per_eu) 定義:每個計算單元的波前數量 (Occupancy)。這是 AMD 特有的參數,控制一個 CU (Compute Unit) 同時跑幾個 Wave。 選項:0 (自動), 2 (保守), 4 (激進)。 影響: 越高 (4):能更好地隱藏記憶體延遲,跑分高。但若暫存器不夠,會導致核心崩潰或計算 錯誤。 建議值:2 (穩定) 或 0 (讓編譯器自己算)。 5. SAGEATTN_WARP (num_warps) 定義:核心並行度 (Warps per Block)。Triton 內部的參數,決定用多少個 Warp 來處 理一個 Block。 選項:2, 4, 8。 影響:必須跟 BLOCK_N 的大小成正比。 6. SAGEATTN_NSTAGES (num_stages) 定義:軟體流水線級數 (Software Pipelining)。決定 GPU 要「預先讀取」多少塊未來 的數據。 選項:1 (不預讀), 2 (預讀一塊) 7. SAGEATTN_CAUSAL_STAGE 定義:核心邏輯階段。這是 SageAttention 演算法內部的數學邏輯開關。 影響:這不是效能參數,而是正確性參數。 建議值:3 (固定值)。亂改會導致數學邏輯錯誤,畫面會變成雜訊。 總之使用優化過後sage-attention 跑圖速度會提昇20~30% 跑WAN2.2一步至少縮短5s 想要自訂參數請自行用記事本編輯修改Start.bat 補充一下 Mimalloc優化設定 32GB RAM:平衡配置 (Balance) set MIMALLOC_PURGE_DELAY=500 set MIMALLOC_LARGE_OS_PAGES=1 set MIMALLOC_ARENA_EAGER_COMMIT_DELAY=0 set MIMALLOC_RESET_DELAY=100 set MIMALLOC_SHOW_STATS=0 64GB RAM:效能優先 (Performance) set MIMALLOC_PURGE_DELAY=5000 set MIMALLOC_LARGE_OS_PAGES=1 set MIMALLOC_ARENA_EAGER_COMMIT_DELAY=0 set MIMALLOC_RESET_DELAY=500 set MIMALLOC_SHOW_STATS=0 128GB RAM:極限效能 (Extreme / Latency Sensitive) set MIMALLOC_PURGE_DELAY=-1 set MIMALLOC_LARGE_OS_PAGES=1 set MIMALLOC_ARENA_EAGER_COMMIT_DELAY=0 set MIMALLOC_RESET_DELAY=-1 set MIMALLOC_SHOW_STATS=0 由於我的環境記憶體有128G 預設是調到最高等級 一些跑圖數據 Z-image turbo https://i.imgur.com/4EW0f9z.png 1024x1024 6步 5.82s 4步 3.99s SD XL illustrious https://i.imgur.com/9k9n84q.png 1024x1024 20步 6.68s WAN 2.2 640x480 5s https://i.imgur.com/IUbxCjy.png 4步 59.51s SDXL工作流增加自動修臉跟手腳功能 https://i.imgur.com/ypWxNBB.png 目前triton-windows已經有AMD官方人員加入維護 https://github.com/triton-lang/triton-windows/issues/2 看起來AMD是認真的 此便攜包可以任意分享 本來就是我閒暇時間自己琢磨玩玩 我其實也不懂Python程式怎麼寫 反正有問題就問AI= = 或者爬文章或者跟別人討教 希望有人能接著發揚光大 甚至去Github社群交流 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.229.59.186 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/PC_Shopping/M.1773223293.A.591.html
w1222067: 先推 36.233.72.195 03/11 18:20
danisaku: 感謝111.249.183.126 03/11 18:45
d0178411: 只有79XTX跟4070TIS但還是推 111.71.212.212 03/11 20:12
pcfox: 好文推 36.231.117.89 03/11 20:41