Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
204 commits
Select commit Hold shift + click to select a range
b4f1fd6
fix: preserve "token_refiner" token for MiniMax H3 LoRAs (#1864)
stduhpf Aug 11, 2026
487de75
fix: fail with a message when MiniMax-H3 is run in img_gen mode (#1863)
danielhanchen Aug 11, 2026
bcc7e29
feat: support INT8 ConvRot safetensors (#1857)
leejet Aug 11, 2026
06c359f
fix: replace free_compute_buffer with runner_done in vae (#1872)
LostRuins Aug 12, 2026
fabe481
sync: update ggml (#1873)
leejet Aug 12, 2026
de298c2
fix(ci): trigger builds for ggml updates
leejet Aug 12, 2026
6100d83
feat: add taeh3 support (#1874)
stduhpf Aug 19, 2026
58b6cb6
fix: prevent gallocr hash overflow in tiny graph-cut segments (#1880)
fszontagh Aug 19, 2026
1706b32
fix: re-clamp streaming VRAM budget to currently free memory (#1878)
fszontagh Aug 19, 2026
88b044b
fix: mark graph cuts with both a prefix and a suffix (#1883)
wbruna Aug 19, 2026
760717a
fix: make max_order of lms sampler configurable (#1885)
vmobilis Aug 19, 2026
16304cc
fix: guard against missing sampler/scheduler names (#1887)
vmobilis Aug 19, 2026
97d2990
chore: format code
leejet Aug 19, 2026
12ee60d
fix: use sd_get_preview_interval() (#1907)
vmobilis Aug 25, 2026
0a565f2
feat: configurable image / video compression (#1909)
vmobilis Aug 25, 2026
50d6405
feat: support standard Qwen3-VL weights for MiniMax-H3 (#1910)
leejet Aug 25, 2026
be0e344
feat: load scaled FP8 weights without upfront conversion (#1913)
leejet Aug 27, 2026
2c92949
fix: match exact weights in LLM config detection (#1923)
leejet Aug 30, 2026
afd5306
feat: add LTX-2.5 support (#1893)
pwilkin Aug 30, 2026
c797899
fix: correct MiniMax H3 reference audio encoding (#1886)
jk212h20 Aug 30, 2026
dc4000d
fix: correct MiniMax H3 audio Euler steps (#1908)
jk212h20 Aug 30, 2026
2540a4f
feat: use backend-native FP8 matmul when supported (#1916)
leejet Aug 30, 2026
134c821
sync: update ggml
leejet Aug 30, 2026
d9b6e27
feat: additional `--preview-interval` values (#1915)
vmobilis Aug 30, 2026
9029655
feat: support numbering for preview images (#1895)
vmobilis Aug 30, 2026
40e605f
fix: use carrier sampling for MiniMax H3 audio (#1924)
leejet Aug 30, 2026
6b3edaa
feat: generalize temporal tiling across video VAEs (#1926)
leejet Aug 30, 2026
6c57cc3
feat: prefetch streamed layers during compute (#1905)
assouan Sep 6, 2026
462d675
refactor: unify runner lifecycles and weight residency (#1940)
leejet Sep 6, 2026
dbb6112
feat: add verbose logging and log-level selection (#1941)
leejet Sep 6, 2026
80bac2d
feat: enable single-GPU auto-fit with tiered parameter placement (#1942)
leejet Sep 6, 2026
d8fb10c
fix: reuse graph cut plans across CFG passes (#1943)
leejet Sep 6, 2026
31ab2b2
refactor: split ggml extensions and move implementations to cpp files…
leejet Sep 7, 2026
9cdb6b6
fix: preserve K-quantized embedding weights (#1936)
zjn20030811 Sep 7, 2026
d04e895
fix: correct SDXL embeddings loading (#1939)
wbruna Sep 7, 2026
6b47fec
refactor: unify model source and weight lifecycle management (#1956)
leejet Sep 10, 2026
469fc49
docs: reflect GGML_MAX_NAME value change in rpc docs (and in ggml_ext…
stduhpf Sep 10, 2026
14eddb3
refactor: split generation pipeline out of stable-diffusion.cpp (#1957)
leejet Sep 10, 2026
b68d586
fix: enable VAE decode tiling fallback without auto-fit (#1932)
Hmission Sep 10, 2026
e95ab96
fix: preserve BF16 embedding weights for get_rows (#1959)
xledx Sep 11, 2026
3191b23
fix: handle invalid option numbers (#1961)
vmobilis Sep 11, 2026
e06b205
feat: expose the loaded model version name through the public API (#1…
fszontagh Sep 11, 2026
7f986a9
feat: add SenseNova U1.5 support (#1935)
Maphist0 Sep 11, 2026
5ebce93
fix: reuse graph plans when scale parameters change (#1963)
leejet Sep 11, 2026
13b3984
Ship Vulkan and Linux ROCm sd-cli prebuilts, so AMD hosts stop fallin…
LeoBorcherding Sep 11, 2026
7f410a3
feat: add linear and attention scale overrides (#1964)
leejet Sep 11, 2026
44dd137
feat: preserve explicit backend assignments during auto-fit (#1967)
leejet Sep 13, 2026
9a97738
fix: guard GPU memory capacity and propagate encoding failures (#1958)
leejet Sep 13, 2026
4a7da26
fix: bound plain-text runs in parse_prompt_attention regex (#1919)
fszontagh Sep 13, 2026
0bd72f0
feat: add Wan2.2 S2V (audio+img-to-video) support (#1925)
noctrex Sep 13, 2026
ca37fad
fix: validate vision projector output dim against LLM hidden size (#1…
fszontagh Sep 13, 2026
5a5400b
fix: resolve MSVC narrowing conversion warnings (#1969)
leejet Sep 13, 2026
42d6c0a
feat: Add generation parameters into video metadata (#1901)
CAHbKA-IV Sep 13, 2026
4964abd
feat: support external Hugging Face tokenizer JSON files (#1973)
leejet Sep 14, 2026
f9ddc0f
refactor: require external Gemma 2 and GPT-OSS tokenizers (#1974)
leejet Sep 14, 2026
07a85c7
feat: support Brownian tree noise in all noise injection samplers (#1…
wbruna Sep 14, 2026
59c23bc
fix: use tokenizer-specific pre-tokenization rules (#1975)
leejet Sep 14, 2026
3161505
fix: remove vision_model. from ununsed tensors (#1983)
leejet Sep 16, 2026
cc515a0
perf: eliminate temporary allocations in Philox rounds (#1982)
leejet Sep 16, 2026
269e726
fix: honor flash attention flag in LLM text encoder attention (#1987)
linxuhao Sep 18, 2026
656a135
refactor: remove obsolete unused tensor filtering (#1984)
leejet Sep 18, 2026
adcac69
perf: pad small attention heads to 64 for MMA Flash Attention (#1992)
leejet Sep 18, 2026
2ea8aff
perf: update ggml for faster direct convolutions (#1993)
leejet Sep 18, 2026
3e037a8
perf: accelerate VAE direct 3D convolutions (#1996)
leejet Sep 19, 2026
9982c9c
fix: propagate CUDA driver dependency to shared library consumers
leejet Sep 19, 2026
d32b4e8
fix: prevent clip_preprocess center crop from exceeding the resized i…
akhenakh Sep 19, 2026
275ab58
perf: reduce CPU overhead in graph execution and sampling (#1997)
leejet Sep 19, 2026
17860c0
perf: parallelize host tensor elementwise and broadcast ops (#1998)
leejet Sep 19, 2026
1330ceb
feat: support building with upstream ggml (#1999)
leejet Sep 19, 2026
137f740
feat: add Qwen Image 2.1 support (#1994)
leejet Sep 20, 2026
008ca5b
feat: restore legacy fp8 handling when building with upstream ggml (#…
wbruna Sep 20, 2026
b8248a8
fix: avoid passing ggml logs as format strings (#2002)
wbruna Sep 20, 2026
15f335d
feat: add LLaDA-Image support (#1968)
fszontagh Sep 20, 2026
187b256
feat: add native CUDA SageAttention support (#2005)
leejet Sep 20, 2026
b56c686
fix: avoid narrowing conversion in SigVQ patch embedding and format code
leejet Sep 20, 2026
c678dfe
docs: update CONTRIBUTING.md
leejet Sep 20, 2026
74988b2
fix: reject video models in image generation (#2017)
leejet Sep 21, 2026
2726dd3
fix: update ggml to prevent permute metadata truncation (#2018)
leejet Sep 21, 2026
78557f8
fix: honor reference image resize opt-out in server requests (#2011)
AzizMuminov Sep 21, 2026
97d932b
fix: restrict VAE tiling retries to allocation failures (#2019)
leejet Sep 21, 2026
6dcb5bb
fix: handle GPU memory reports and LLM encoding failures (#2020)
leejet Sep 21, 2026
e012065
fix: preserve reference image dimensions in server requests (#2007)
mikemikimike Sep 22, 2026
e112ab5
fix: add alpha channel input for Qwen Image 2.1 and relative docs (#2…
CarlGao4 Sep 22, 2026
ac45422
fix: honor reference image resize settings in OpenAI edits (#2025)
leejet Sep 22, 2026
2bb7294
perf: cache MiniMax H3 text conditioning (#1966)
xledx Sep 22, 2026
28b454b
feat: add configurable image input preprocessing (#2028)
leejet Sep 22, 2026
c92d73c
fix: preserve alpha when upscaling RGBA images with ESRGAN (#2029)
leejet Sep 22, 2026
241518b
feat: add latent2rgba preview for Qwen-Image 2.1 (#2032)
stduhpf Sep 23, 2026
e6281b6
feat: add configurable conditioning cache for all models (#2034)
leejet Sep 23, 2026
2dc7f54
feat: add Qwen Image 2.1 prefix KV cache (#2035)
leejet Sep 23, 2026
3674693
fix: add graph cuts for MiniMax-H3 text conditioning (#1900)
assouan Sep 23, 2026
70c1dbc
perf: run one-frame Wan VAE convolutions as 2D convolutions (#2038)
nanguoyu Sep 23, 2026
2a4ebba
ci: automatically close PRs from organization-owned forks
leejet Sep 23, 2026
500ef5f
fix: map mmapped weights through Metal buffers instead of CPU buffers…
nanguoyu Sep 23, 2026
88411ef
refactor: centralize circular RoPE and extend image model support (#2…
leejet Sep 23, 2026
caa111a
feat: optimize cfg special cases with guidance schdeule (#2033)
stduhpf Sep 24, 2026
4dfe8f5
feat: add a stand-alone upscale endpoint to the server (#2026)
nbeerbower Sep 24, 2026
740c7ae
feat: add configurable Qwen cache types and early cache scheduling (#…
leejet Sep 24, 2026
1a2330d
fix: reserve 128 MiB headroom when selecting monolithic execution (#2…
leejet Sep 24, 2026
b167b94
fix: align Qwen Image 2.1 flow schedule with official defaults (#2048)
leejet Sep 24, 2026
0a9340c
fix: scale Qwen Image 2.1 VAE convolutions (#2054)
leejet Sep 25, 2026
5e7b291
fix: keep the server frontend install out of a parent pnpm workspace …
Yi-111-a Sep 25, 2026
510bccf
fix: map Qwen Image 2.1 LoRAs to fused MLP weights (#2057)
leejet Sep 25, 2026
4c3cf75
fix: load safetensors index shards without recursion (#2058)
leejet Sep 25, 2026
39ada08
feat: add PixArt model family support (#2047)
losewayy Sep 25, 2026
19bbbca
refactor: define VAE tile dimensions in image pixels (#2059)
leejet Sep 25, 2026
2f88688
refactor: align PixArt weights with upstream layout (#2061)
leejet Sep 25, 2026
168f7b8
fix: improve GGUF metadata parsing and reader selection (#2062)
losewayy Sep 27, 2026
9947eeb
fix: handle filesystem errors during lora and upscaler cache scan (#2…
Yi-111-a Sep 27, 2026
61a83b8
docs: update hugging face links for MageFlow diffusion and VAE models…
akleine Sep 27, 2026
f8890b9
feat: add Ming-Image Design support (#2063)
leejet Sep 27, 2026
47e83d7
sync: update ggml
leejet Sep 27, 2026
ede32a6
fix: load INT8 convrot LLM embeddings correctly (#2067)
leejet Sep 27, 2026
27f7c43
fix: update ggml to fix INT8 convrot backend fallback (#2069)
leejet Sep 27, 2026
42ab1c1
fix: keep scaled INT8 convrot matmuls on Vulkan (#2070)
leejet Sep 27, 2026
3f8527a
feat: enable hip INT8 tensorwise matmul and convrot (#2071)
leejet Sep 27, 2026
d4bfcd5
ci: bundle HIP runtime libraries with Windows ROCm release (#2090)
harkgill-amd Oct 6, 2026
9db0db6
perf: avoid redundant permute+cont in non-interleaved RoPE (#2102)
daniandtheweb Oct 6, 2026
b6947b8
fix: avoid f16 overflow in Z-Image quantized matmuls on CUDA (#2074)
losewayy Oct 6, 2026
bbdcad4
feat: add Z-Image L2P support (#2075)
aapakhomov Oct 6, 2026
f4b5326
feat: support for merging LoRA weights on model conversion (#2079)
wbruna Oct 6, 2026
c150a6b
fix: correct step count adjustment for custom sigmas list (#2084)
wbruna Oct 6, 2026
019bcfc
fix: correct non-circular tile placement and blending (#2088)
shawn-mengchen-xu Oct 6, 2026
203a882
refactor: shorten log levels and move source locations to the end (#2…
leejet Oct 6, 2026
96f67fe
feat: Server: Add support for previews via sdcpp API (#2093)
stduhpf Oct 6, 2026
fb8ee71
refactor: unify circular and non-circular tiling (#2105)
leejet Oct 6, 2026
1da55eb
feat: enable sdapi latent2RGB previews (#2096)
stduhpf Oct 6, 2026
0963357
fix: keep MiniMax-H3 VAE weights resident across temporal chunks (#2103)
losewayy Oct 6, 2026
fd43b54
refactor: escape newlines in prompt logs and clarify source separator…
leejet Oct 6, 2026
4a89229
docs: document video reference image support and constraints
leejet Oct 6, 2026
8cc5ad8
sync: update frontend
leejet Oct 6, 2026
a1ded76
chore: resolve MSVC warnings in ggml extensions
leejet Oct 6, 2026
9fe75a5
Merge remote-tracking branch 'origin/master' into prebuilt-amd-legs
oobabooga Oct 8, 2026
6aa1e90
Keep the ROCm bundling step from aborting on a static build
oobabooga Oct 8, 2026
d2ae8f8
Ship the ROCm device kernels and kpack archives in the bundle
oobabooga Oct 8, 2026
a4a9669
fix: avoid scanning cwd during server startup (#2086)
mikemikimike Oct 8, 2026
e16d26a
fix: align SD3 encoder token chunks before conditioning (#2111)
srelus Oct 8, 2026
228c707
perf: use ggml rope apply op on supported backends (#2113)
leejet Oct 8, 2026
68136c0
Reject a free-memory report above total only on Vulkan, so ROCm APUs …
leejet Oct 9, 2026
7867f6d
fix: bump RPC protocol patch version for rope apply op (#2115)
leejet Oct 9, 2026
f2f168f
fix: preserve singleton output dimension when merging LoRA (#2116)
leejet Oct 9, 2026
f89d9b1
feat: add Iris-3B text-to-image support (#2117)
leejet Oct 9, 2026
dcb4f1c
MiniMax-H3: flash attention in the video VAE, faster tile stitching, …
danielhanchen Oct 9, 2026
363c91f
Keep VAE tiles overlapping on the out-of-memory retry (no more seam l…
danielhanchen Oct 9, 2026
4a98feb
Merge the MiniMax-H3 speed stack (#18, #19, #20) into master (#23)
oobabooga Oct 9, 2026
e739cd3
Record upstream c678dfe (master-889) as merged, its content already s…
oobabooga Oct 9, 2026
8a48526
Merge upstream master-951-f89d9b1 into the fork
oobabooga Oct 9, 2026
af486f1
Document the tile overlap guard and the encode retry
oobabooga Oct 9, 2026
8e41297
Trim the tiling comments
oobabooga Oct 10, 2026
d0d47fc
Drop upstream's workflow that closes PRs from organization forks
oobabooga Oct 10, 2026
50746ec
Merge pull request #24 from unslothai/sync-upstream-20261009
oobabooga Oct 10, 2026
3d9d20d
Publish Windows CUDA bundles and leave the CUDA runtime to the host
danielhanchen Oct 10, 2026
7003ade
Accept CUDA 13's static cudart on Windows
danielhanchen Oct 10, 2026
ce95c09
fix: halve VAE decode tile size on OOM retry instead of clamping to 2…
losewayy Oct 10, 2026
0e1d733
docs: restrict README UI listings to open-source projects
leejet Oct 10, 2026
05845fd
ci: fix ROCm ccache build caching and update to ROCm 10.1.0 (#1890)
superm1 Oct 10, 2026
b7a74e6
fix: demote resident params to disk residency when memory reclamation…
losewayy Oct 10, 2026
1b0ba10
feat: run conditional and unconditional CFG in one batched UNet forwa…
daniandtheweb Oct 10, 2026
2988060
feat: add TAEQI2.1 support for Qwen Image 2.1 (#2123)
leejet Oct 10, 2026
c03c43b
Allowlist host CUDA libraries; keep non-soname aliases and compare re…
danielhanchen Oct 11, 2026
afac7a7
Merge pull request #25 from unslothai/unsloth-cuda-shared-runtime
danielhanchen Oct 11, 2026
e896196
VAE tiling: decode 2x2 tiles again at 456-504 px while keeping the se…
danielhanchen Oct 12, 2026
7612753
ggml-cuda: generic DiT and VAE fusions for every family, plus a rope …
danielhanchen Oct 12, 2026
997cefc
CPU bundles: runtime-selected ggml CPU variants and repacked quantize…
danielhanchen Oct 12, 2026
2a4ff8f
Metal: in-place ops on the owning backend, ROPE_APPLY kernel, group n…
danielhanchen Oct 12, 2026
25ac1fa
perf: run large CPU matmuls on Accelerate on Apple Silicon (#29)
danielhanchen Oct 12, 2026
792bcd3
feat: add MoSR upscaler support (#2128)
GabrieleLozupone Oct 12, 2026
d637cfb
feat: add Qwen Image 2.1 Turbo sigma preset (#2130)
leejet Oct 12, 2026
7e3e20a
ci: add ROCm Dockerfile (#2094)
robertosw Oct 13, 2026
60423ab
fix: reclaim before accepting wrapped Vulkan iGPU memory estimates (#…
losewayy Oct 13, 2026
d763dae
feat: add per-module automatic flash attention selection (#2132)
leejet Oct 13, 2026
46362fc
feat: add automatic direct convolution selection (#2134)
leejet Oct 13, 2026
1d0a58a
chore: move parameter and tokenizer diagnostics to debug (#2135)
leejet Oct 13, 2026
120e3e8
docs: add Kokon to UIs (#2136)
GabrieleLozupone Oct 14, 2026
2891378
fix: prevent core dump in CPU backend if using FP8 (e4m3) tensors (#2…
akleine Oct 15, 2026
e47426c
fix: benchmark Vulkan direct convolution in auto mode (#2141)
leejet Oct 15, 2026
8cd731e
feat: add FLUX.3 Image Klein and Klein Base support (#2143)
leejet Oct 15, 2026
6c29ce2
fix: read imatrix activations through strides, all planes, and F16/BF…
danielhanchen Oct 16, 2026
11761ef
Layer split: size device ranges in proportion to capacity and keep co…
danielhanchen Oct 16, 2026
359125c
Merge upstream master (FLUX.3 Image Klein) into the fork
danielhanchen Oct 16, 2026
ca7d7af
Keep --diffusion-fa covering the MiniMax-H3 video VAE under per-modul…
danielhanchen Oct 16, 2026
8c442fb
fix: open model files with UTF-8 paths on Windows (#2144)
therealshulgin Oct 16, 2026
2f016e8
fix: handle UTF-8 file paths on Windows (#2145)
therealshulgin Oct 16, 2026
af0fc72
chore: sync ggml and remove obsolete conv1d workarounds (#2147)
leejet Oct 16, 2026
68285df
feat: add moss-image support (#2148)
leejet Oct 16, 2026
bdb47d1
Merge pull request #33 from unslothai/sync/upstream-flux3
danielhanchen Oct 17, 2026
f0aac52
ci: align MUSA Docker image with upstream SDK 5.2.0 and mp_31
leejet Oct 17, 2026
ab8d5ea
feat: support Diffusers-format MiniMax-H3 LoRAs (#2159)
leejet Oct 18, 2026
95b3090
feat: support MOSS split QKV weights and batch host loading (#2160)
leejet Oct 18, 2026
d55cc0f
docs: update MOSS-Image docs
leejet Oct 18, 2026
b13a482
docs: add flux3 gguf links
leejet Oct 18, 2026
a068716
fix: enhance decision in --lora-apply-mode auto for quantized paramet…
akleine Oct 20, 2026
2005081
chore: clean up include paths (#2175)
wbruna Oct 20, 2026
269045e
fix: preserve server sigma defaults for WebUI requests (#2172)
crystalsighting Oct 20, 2026
9b7da27
fix(server): route OpenAI image edits by reference conditioning suppo…
losewayy Oct 20, 2026
0518b34
feat(server): add recipe-based model management (#2176)
leejet Oct 20, 2026
efa3ebb
Merge upstream master-982-0518b34 (MOSS-Image) into the fork
danielhanchen Oct 21, 2026
0a68764
Port the carried ggml patches onto leejet/ggml dc998771 (master-982 s…
danielhanchen Oct 21, 2026
d331c66
Merge pull request #34 from unslothai/sync/upstream-moss
danielhanchen Oct 21, 2026
572baee
MOSS-Image: extra sample args to window or disable the block-22 negat…
danielhanchen Oct 30, 2026
5c4248e
MOSS-Image: drop the cached negative prediction when the windowed ski…
danielhanchen Oct 30, 2026
892e800
MOSS-Image: reset the Spectrum history when the windowed skip set cha…
danielhanchen Oct 30, 2026
aba3a1c
Merge pull request #40 from unslothai/moss-uncond-skip-window
danielhanchen Oct 30, 2026
bea56a3
Merge master into prebuilt-amd-legs
danielhanchen Nov 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/start-server.sh text eol=lf
/start-server.bat text eol=crlf
51 changes: 40 additions & 11 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ on:
"ggml",
"examples/server/frontend",
"examples/server/frontend/**",
"start-server.sh",
"start-server.bat",
]
pull_request:
types: [opened, synchronize, reopened]
Expand All @@ -44,6 +46,8 @@ on:
"ggml",
"examples/server/frontend",
"examples/server/frontend/**",
"start-server.sh",
"start-server.bat",
]

env:
Expand Down Expand Up @@ -107,7 +111,8 @@ jobs:
run: |
cp ggml/LICENSE ./build/bin/ggml.txt
cp LICENSE ./build/bin/stable-diffusion.cpp.txt
zip -j sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-${{ steps.system-info.outputs.OS_TYPE }}-${{ steps.system-info.outputs.OS_NAME }}-${{ steps.system-info.outputs.OS_VERSION }}-${{ steps.system-info.outputs.CPU_ARCH }}.zip ./build/bin/*
chmod +x start-server.sh
zip -j sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-${{ steps.system-info.outputs.OS_TYPE }}-${{ steps.system-info.outputs.OS_NAME }}-${{ steps.system-info.outputs.OS_VERSION }}-${{ steps.system-info.outputs.CPU_ARCH }}.zip ./build/bin/* ./start-server.sh ./start-server.bat

- name: Upload artifacts
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
Expand Down Expand Up @@ -171,7 +176,8 @@ jobs:
run: |
cp ggml/LICENSE ./build/bin/ggml.txt
cp LICENSE ./build/bin/stable-diffusion.cpp.txt
zip -j sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-${{ steps.system-info.outputs.OS_TYPE }}-${{ steps.system-info.outputs.OS_NAME }}-${{ steps.system-info.outputs.OS_VERSION }}-${{ steps.system-info.outputs.CPU_ARCH }}-vulkan.zip ./build/bin/*
chmod +x start-server.sh
zip -j sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-${{ steps.system-info.outputs.OS_TYPE }}-${{ steps.system-info.outputs.OS_NAME }}-${{ steps.system-info.outputs.OS_VERSION }}-${{ steps.system-info.outputs.CPU_ARCH }}-vulkan.zip ./build/bin/* ./start-server.sh ./start-server.bat

- name: Upload artifacts
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
Expand Down Expand Up @@ -326,7 +332,8 @@ jobs:
run: |
cp ggml/LICENSE ./build/bin/ggml.txt
cp LICENSE ./build/bin/stable-diffusion.cpp.txt
zip -j sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-${{ steps.system-info.outputs.OS_TYPE }}-${{ steps.system-info.outputs.OS_NAME }}-${{ steps.system-info.outputs.OS_VERSION }}-${{ steps.system-info.outputs.CPU_ARCH }}.zip ./build/bin/*
chmod +x start-server.sh
zip -j sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-${{ steps.system-info.outputs.OS_TYPE }}-${{ steps.system-info.outputs.OS_NAME }}-${{ steps.system-info.outputs.OS_VERSION }}-${{ steps.system-info.outputs.CPU_ARCH }}.zip ./build/bin/* ./start-server.sh ./start-server.bat

- name: Upload artifacts
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
Expand Down Expand Up @@ -418,7 +425,7 @@ jobs:
ls .\build\bin
throw "Can't find stable-diffusion.dll"
}
7z a sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-win-${{ matrix.build }}-x64.zip $filePath
7z a sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-win-${{ matrix.build }}-x64.zip $filePath .\start-server.sh .\start-server.bat

- name: Copy and pack Cuda runtime
id: pack_cuda_runtime
Expand Down Expand Up @@ -450,7 +457,7 @@ jobs:
runs-on: windows-2022

env:
ROCM_VERSION: "7.14.0"
ROCM_VERSION: "10.1.0"
GPU_TARGETS: "gfx1010;gfx1011;gfx1012;gfx1030;gfx1031;gfx1032;gfx1033;gfx1034;gfx1035;gfx1036;gfx1100;gfx1101;gfx1102;gfx1103;gfx1150;gfx1151;gfx1152;gfx1153;gfx1200;gfx1201"
# rocm-sdk re-expands clang from the wheel every run, so its mtime always
# differs and the default compiler_check=mtime misses every object.
Expand Down Expand Up @@ -502,7 +509,7 @@ jobs:

write-host "Installing ROCm wheels for multi-arch support"
# Install ROCm wheels for multi-arch support (this may take several minutes)
python -m pip install --index-url https://repo.amd.com/rocm/whl-multi-arch/ "rocm[libraries,devel]==${{env.ROCM_VERSION}}"
python -m pip install --index-url https://stable.repo.amd.com/rocm/whl-next/ "rocm[libraries,devel]==${{env.ROCM_VERSION}}"

# Pre-expand the devel tree so it is included in the cache
write-host "Initializing ROCm devel tree"
Expand Down Expand Up @@ -564,10 +571,22 @@ jobs:
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
uses: pr-mpt/actions-commit-hash@01d19a83c242e1851c9aa6cf9625092ecd095d09 # v2

- name: Bundle HIP runtime libraries
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
run: |
$ErrorActionPreference = "Stop"
$binPath = (rocm-sdk path --bin).Trim()
if (-not $binPath) { throw "rocm-sdk path --bin returned empty" }
foreach ($dll in @("amdhip64_7.dll", "rocm_kpack.dll", "amd_comgr.dll")) {
$f = Get-ChildItem -Path $binPath -Filter $dll -ErrorAction SilentlyContinue
if (-not $f) { throw "no match for $dll in $binPath" }
Copy-Item $f.FullName -Destination .\build\bin\ -Force
}

- name: Pack artifacts
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
run: |
7z a sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-win-rocm-${{ env.ROCM_VERSION }}-x64.zip .\build\bin\*
7z a sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-win-rocm-${{ env.ROCM_VERSION }}-x64.zip .\build\bin\* .\start-server.sh .\start-server.bat

- name: Upload artifacts
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
Expand All @@ -587,9 +606,9 @@ jobs:
strategy:
matrix:
include:
- ROCM_VERSION: "7.14.0"
- ROCM_VERSION: "10.1.0"
gpu_targets: "gfx900;gfx906;gfx908;gfx90a;gfx90c;gfx942;gfx950;gfx1010;gfx1011;gfx1012;gfx1030;gfx1031;gfx1032;gfx1033;gfx1034;gfx1035;gfx1036;gfx1100;gfx1101;gfx1102;gfx1103;gfx1150;gfx1151;gfx1152;gfx1153;gfx1200;gfx1201"
build: x64
build: 'x64'

steps:
- name: Clone
Expand All @@ -606,6 +625,15 @@ jobs:
# Plateaus at the 500M default (88.19% full, 142 misses/run).
max-size: 2G

- name: Tune ccache for reinstalled ROCm toolchain
run: |
# ROCm is pip-installed fresh each run, so the clang binary's mtime
# changes every time. With the default compiler_check=mtime that
# invalidates the cache; hash compiler contents instead so warm
# builds hit.
ccache --set-config=compiler_check=content
ccache --set-config=sloppiness=time_macros,include_file_mtime,include_file_ctime

- name: Dependencies
id: depends
run: |
Expand Down Expand Up @@ -641,7 +669,7 @@ jobs:
# libraries = HIP runtime and CMake configs needed for linking
# devel = compilers, headers, static libs
python -m pip install --upgrade pip
python -m pip install --index-url https://repo.amd.com/rocm/whl-multi-arch/ "rocm[libraries,devel]==${{matrix.ROCM_VERSION}}"
python -m pip install --index-url https://stable.repo.amd.com/rocm/whl-next/ "rocm[libraries,devel]==${{matrix.ROCM_VERSION}}"

# Get ROCm installation paths using the rocm-sdk CLI tool
ROCM_PATH=$(rocm-sdk path --root)
Expand Down Expand Up @@ -722,7 +750,8 @@ jobs:
run: |
cp ggml/LICENSE ./build/bin/ggml.txt
cp LICENSE ./build/bin/stable-diffusion.cpp.txt
zip -y -r sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-${{ steps.system-info.outputs.OS_TYPE }}-Ubuntu-${{ env.UBUNTU_VERSION }}-${{ steps.system-info.outputs.CPU_ARCH }}-rocm-${{ matrix.ROCM_VERSION }}.zip ./build/bin
chmod +x start-server.sh
zip -y -r sd-${{ env.BRANCH_NAME }}-${{ steps.commit.outputs.short }}-bin-${{ steps.system-info.outputs.OS_TYPE }}-Ubuntu-${{ env.UBUNTU_VERSION }}-${{ steps.system-info.outputs.CPU_ARCH }}-rocm-${{ matrix.ROCM_VERSION }}.zip ./build/bin ./start-server.sh ./start-server.bat

- name: Upload artifacts
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
Expand Down
Loading