Skip to content

feat: add DFlash for Windows#6

Merged
davide221 merged 2 commits into
Luce-Org:mainfrom
aminya:windows
Apr 21, 2026
Merged

feat: add DFlash for Windows#6
davide221 merged 2 commits into
Luce-Org:mainfrom
aminya:windows

Conversation

@aminya

@aminya aminya commented Apr 21, 2026

Copy link
Copy Markdown
Contributor

This adds support for building Dflash on Windows

cmake -B build -S . -DCMAKE_CUDA_ARCHITECTURES=86 -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallel

Tested with Qwen 27B on RTX3090 compiled with MSVC + Cuda. and got 93.53 tok/s

### 2. Recursive
[timing] per-step averages over 35 steps (ms):
  draft_build    0.39
  draft_copyfeat 0.10
  draft_set      0.06
  draft_compute  9.40
  draft_logits   7.79
  snapshot_ssm   0.00
  verify_build   2.76
  verify_set     0.84
  verify_compute 45.92
  verify_logits  0.00
  accept         8.58
  restore_ssm    0.00
  replay_build   0.00
  replay_set     0.00
  replay_compute 0.00
  replay_logits  0.00
  ----- sum     75.85

[dflash] generated 256 tokens in 2.737 s  →  93.53 tok/s
[dflash] 35 draft steps, accepted=256/560 (45.7% per step), avg commit/step=7.31
[dflash] output tail: 11 292 283 292 11 264 478 292 198 262 460 292 198 71093 271 13962 220 17 13 82930 
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 24575 MiB):
  Device 0: NVIDIA GeForce RTX 3090, compute capability 8.6, VMM: yes, VRAM: 24575 MiB

[run] generated 256 tokens

Also, tested with Qwopus on RTX3090 compiled with MSVC + Cuda and got 67.24 tok/s. Using the Qwen 27B kernel, so the acceptance was lower due to mismatch

[run] prompt 14 tokens, streaming up to 256 tokens…
[cfg] seq_verify=0 fast_rollback=1 ddtree=1 budget=22 temp=1.00 chain_seed=1
[target] target loaded: 851 tensors on GPU 14.73 GiB, tok_embd 682 MiB CPU-only (q4_K)

[timing] per-step averages over 48 steps (ms):
  draft_build    0.57
  draft_copyfeat 0.12
  draft_set      0.06
  draft_compute  9.64
  draft_logits   8.36
  snapshot_ssm   0.00
  verify_build   3.03
  verify_set     1.08
  verify_compute 46.26
  verify_logits  0.00
  accept         8.91
  restore_ssm    0.00
  replay_build   0.00
  replay_set     0.00
  replay_compute 0.00
  replay_logits  0.00
  ----- sum     78.03

[dflash] generated 256 tokens in 3.881 s  →  65.96 tok/s
[dflash] 48 draft steps, accepted=256/768 (33.3% per step), avg commit/step=5.33
[dflash] output tail: 11 307 478 220 16 1590 198 1734 264 11 292 283 292 11 264 478 292 198 260 460 
ggml_cuda_init: found 1 CUDA devices (Total VRAM: 24575 MiB):
  Device 0: NVIDIA GeForce RTX 3090, compute capability 8.6, VMM: yes, VRAM: 24575 MiB

[run] generated 256 tokens

This adds support for building Dflash on Windows
@davide221 davide221 merged commit 962c54a into Luce-Org:main Apr 21, 2026
oliveagle pushed a commit to oliveagle/lucebox-hub that referenced this pull request May 22, 2026
feat: add DFlash for Windows, thanks for your contribution!
dusterbloom added a commit to dusterbloom/lucebox-hub that referenced this pull request May 23, 2026
…mand (seeds #4, Luce-Org#6)

- _BaseAdapter: preflight_check (shutil.which) + dry_run returning AdapterResult
- ClaudeCodeAdapter, HermesAdapter, CodexAdapter, PiAdapter, OpenCodeAdapter
- run_bandit(): preflight → dry/live run → CSV writer (6 columns per exit-gate spec)
- bandit subcommand + top-level --condition/--clients shorthand preserved
- Seed #4 green: dry_run returns AdapterResult with session_id
- Seed Luce-Org#6 green: 5-adapter dry-run emits 5-row CSV with required columns
easel referenced this pull request in easel/lucebox-hub May 29, 2026
…appers

- .github/workflows/{ci,docker,release-luce-bench}.yml: pin
  actions/checkout, docker/{setup-buildx,login,metadata,bake}-action,
  and astral-sh/setup-uv to immutable commit SHAs with `# vN` comments
  so the supply chain is reproducible (#4).
- harness/src/harness/clients/_common.py: replace the external `timeout`
  shell-out with `subprocess.run(..., timeout=N)`, return 124 on
  TimeoutExpired to match GNU timeout's exit code (#5).
- scripts/build_image.sh: normalize REGISTRY to end in `/` instead of
  silently producing `ghcr.io/luce-orglucebox-hub` when the trailing
  slash is missing (#6).
- harness/src/harness/clients/pi.py: non-interactive launch now mirrors
  run_pi.sh's validated invocation (--provider, --print, --mode json,
  --tools, --no-session, --offline) and sets PI_CODING_AGENT_DIR /
  PI_CODING_AGENT_SESSION_DIR / PI_OFFLINE (Luce-Org#7).
- docker-bake.hcl: sanitize `+` → `-` in VERSION before composing tags,
  since `+` is not a valid Docker tag character (Luce-Org#8).
- harness/src/harness/clients/hermes.py: set HERMES_HOME + the rest of
  run_hermes.sh's env wiring and call `chat --provider --model
  --accept-hooks --yolo --max-turns --source --query` instead of a bare
  positional prompt (Luce-Org#9, Luce-Org#10).
- harness/src/harness/clients/openclaw.py: apply the OpenClaw config
  patch via `openclaw config patch --file` before the run, and call
  `agent --local --json --model lucebox/<model> --session-id --timeout
  --message` instead of a bare positional prompt (Luce-Org#11).
- pyproject.toml: drop the dead dflash/scripts/{prefix_cache,test_server,
  tool_memory}.py ruff include pins (those paths were renamed during
  the dflash→server rename and then deleted upstream) (Luce-Org#12).
- lefthook.yml: widen the shellcheck/bash-parse glob from `*.sh` to
  `**/*.sh` so scripts under nested dirs (harness/clients/*.sh,
  scripts/*.sh, server/scripts/*.sh) are linted on commit (Luce-Org#13).

Addresses cubic #4Luce-Org#13 (P2) on PR Luce-Org#285. Luce-Org#14 was already addressed in
the previous commit alongside the LUCEBENCH_THINK default fix.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants