Skip to content

Commit 63b7d16

Browse files
kenvandineclaude
andauthored
fix(backends): enable sd-cpp CUDA support on Windows (#2601)
The sd-cpp descriptor restricted its cuda variant to Linux only, even though the Windows CUDA download/runtime path in sdcpp_server.cpp was already implemented and the upstream release still publishes a windows-cuda asset (validated by validate_sdcpp.yml). Add "windows" back to the cuda support row and add cuda to arg/bin variants so config.json gets cuda_args/cuda_bin defaults, matching llama.cpp's pattern. Regenerated defaults.json and docs via gen_backend_boilerplate.py. Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
1 parent be954f8 commit 63b7d16

5 files changed

Lines changed: 9 additions & 5 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ Lemonade supports multiple inference engines for LLM, speech, TTS, and image gen
256256
<tr>
257257
<td><code>cuda</code></td>
258258
<td>NVIDIA GPUs (Turing or newer)**</td>
259-
<td>Linux</td>
259+
<td>Windows, Linux</td>
260260
</tr>
261261
<tr>
262262
<td><code>vulkan</code></td>

docs/dev/backends-reference.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ the generator instead. Prose outside the markers is preserved. -->
4848
| `openmoss` | vulkan | linux, windows | amd_gpu; cpu (x86_64); nvidia_gpu |
4949
| `ryzenai-llm` | npu | windows | amd_npu (XDNA2) |
5050
| `sd-cpp` | rocm | linux, windows | amd_gpu (gfx103X, gfx110X, gfx1150, gfx1151, gfx1152, gfx120X) |
51-
| `sd-cpp` | cuda | linux | nvidia_gpu (sm_100, sm_120, sm_121, sm_75, sm_80, sm_86, sm_89, sm_90) |
51+
| `sd-cpp` | cuda | linux, windows | nvidia_gpu (sm_100, sm_120, sm_121, sm_75, sm_80, sm_86, sm_89, sm_90) |
5252
| `sd-cpp` | vulkan | linux, windows | amd_gpu; cpu (x86_64); nvidia_gpu |
5353
| `sd-cpp` | cpu | linux, windows | cpu (x86_64) |
5454
| `sd-cpp` | metal | macos | metal |

docs/guide/configuration/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ Values set in the user's `config.json` always take precedence over these seeded
9797
"cfg_scale": 7.0,
9898
"cpu_args": "",
9999
"cpu_bin": "builtin",
100+
"cuda_args": "",
101+
"cuda_bin": "builtin",
100102
"height": 512,
101103
"rocm_args": "",
102104
"rocm_bin": "builtin",

src/cpp/include/lemon/backends/sdcpp/sdcpp.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ inline const BackendDescriptor descriptor = {
3838
/*support*/ {
3939
{"rocm", {"windows", "linux"},
4040
{{"amd_gpu", {"gfx1150", "gfx1151", "gfx1152", "gfx103X", "gfx110X", "gfx120X"}}}, "Supported AMD ROCm iGPU/dGPU families*"},
41-
{"cuda", {"linux"},
41+
{"cuda", {"windows", "linux"},
4242
{{"nvidia_gpu", {"sm_75", "sm_80", "sm_86", "sm_89", "sm_90", "sm_100", "sm_120", "sm_121"}}}, "NVIDIA GPUs (Turing or newer)**"},
4343
{"vulkan", {"windows", "linux"}, {{"cpu", {"x86_64"}}, {"amd_gpu", {}}, {"nvidia_gpu", {}}}, "Vulkan-capable GPUs"},
4444
{"cpu", {"windows", "linux"}, {{"cpu", {"x86_64"}}}, "x86_64 CPU"},
@@ -55,8 +55,8 @@ inline const BackendDescriptor descriptor = {
5555
/*version_policy*/ VersionPolicy::Exact,
5656
/*self_manages_downloads*/ false,
5757
/*takes_args*/ true,
58-
/*arg_variants*/ {"cpu", "rocm", "vulkan"},
59-
/*bin_variants*/ {"cpu", "rocm", "vulkan"},
58+
/*arg_variants*/ {"cpu", "rocm", "vulkan", "cuda"},
59+
/*bin_variants*/ {"cpu", "rocm", "vulkan", "cuda"},
6060
/*config_extra*/ {{"steps", 20}, {"cfg_scale", 7.0}, {"width", 512}, {"height", 512}},
6161
};
6262

src/cpp/resources/defaults.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@
6262
"cfg_scale": 7.0,
6363
"cpu_args": "",
6464
"cpu_bin": "builtin",
65+
"cuda_args": "",
66+
"cuda_bin": "builtin",
6567
"height": 512,
6668
"rocm_args": "",
6769
"rocm_bin": "builtin",

0 commit comments

Comments
 (0)