Commit Graph
41 Commits
Author SHA1 Message Date
Frank e45f457ad4 perf: frank-default-small batch 3072 / ubatch 1536 + ctx-checkpoints
Bigger logical/physical batches for prefill throughput. Enable
--ctx-checkpoints to park attention checkpoints in RAM, holding peak GPU
memory down so the larger ubatch fits the 24GB VRAM alongside 3x262144 KV
without OOM. Weight split unchanged (experts CPU, non-experts GPU).
2026-08-11 01:33:28 -07:00
Frank 35c44c4123 docs+deploy: Dankserver now llama.cpp frank-default-small (HauhauCS Q6_K_P + DFlash)
Retire vllm-awq-qwen36 (AWQ) from target maps, README, deployment, KB index,
Dankserver specs, DFlash and FP8 docs. New dankserver runtime: upstream
llama.cpp, port 7770, alias frank-default-small, 3x262144 ctx, DFlash Q8_0
draft, MoE experts offloaded to CPU, attention+KV on GPU (K q8_0, V f16).
deploy.sh now maps dankserver to frank-default-small and symlinks its unit.
models.json: dankserver baseUrl -> :7770, contextWindow -> 262144.
2026-08-11 01:18:29 -07:00
Frank 6a86a9df93 fix: frank-default-small ctx-size 786432 (3 slots x 262144 each)
llama.cpp splits --ctx-size across --parallel slots, so 262144 total gave
87552 per stream. Non-negotiable is 262144 per stream: total pool must be
786432.
2026-08-11 01:05:24 -07:00
Frank f93096f2bf feat: frank-default-small = HauhauCS Qwen3.6-35B-A3B uncensored Q6_K_P + DFlash on dankserver
llama.cpp service replacing retired vllm-awq-qwen36 on port 7770 with alias
frank-default-small. Wrapper sources frank-default-small.env for tunables:
3 parallel slots at 262144 ctx, draft-dflash n-max 7, KV K=q8_0 V=f16 on GPU,
all MoE experts on CPU (--n-cpu-moe 40), non-expert tensors on GPU, mmproj
vision + jinja. Unit: frank-default-small.service (ExecStart in dankserver
repo clone /home/dank/vLLM/scripts).
2026-08-11 00:57:04 -07:00
Frank 903d54c389 docs: reflect Ling-3 vLLM (frank-default-large) on Dankclaw
Update target maps (AGENTS, README, deployment, deploy.sh) from the retired
ROCmFPX llama.cpp stack to the active vLLM-ROCm CIRU INT4 service on port 7770
with MTP speculative decoding. Align Dankserver to the running
vllm-awq-qwen36 (AWQ, port 34401). Refresh KB pages: Dankclaw system specs
(gpu-mem-util 0.95, CIRU venv), quantization choices (INT4 primary, MXFP4
experiment), DFlash/DSpark Dankclaw section, and the KB index topology.
2026-08-10 23:37:27 -07:00
Frank 52ad985978 feat: raise Ling-3 GPU memory utilization to 0.95
The 0.72 default from native-256k.env OOMs. Export 0.95 in the wrapper;
native-256k uses ${GPU_MEMORY_UTILIZATION:-0.72} so this value wins.
2026-08-10 23:25:02 -07:00
Frank bf14ac7a7b fix: run Ling-3 vLLM from a cwd with no top-level vllm/ dir
The launcher does not change directory, so process cwd becomes sys.path[0]
for the 'python -m ...registry' model-inspection subprocess. From the CIRU
package root, the top-level vllm/ repo dir shadows the editable install as a
namespace package, breaking lazy imports (SamplingParams) and failing model
architecture inspection. cd to /home/dank/ling3-ciru before exec.
2026-08-10 23:16:46 -07:00
Frank 4a17948443 feat: add Ling-3.0-flash vLLM service for Dankclaw (frank-default-large, port 7770)
- serve-ling3-vllm.sh: wrapper around jcbtc validated run-256k.sh (TRITON_MLA,
  MTP K1, 256k, 6 slots, ROCr idle-fix LD_PRELOAD); sets HOST/PORT/
  SERVED_MODEL_NAME=frank-default-large
- frank-default-large.service: systemd unit, User=dank, port 7770
2026-08-10 22:36:37 -07:00
Frank 91188d4b1b docs: add Ling-3.0-flash vLLM-ROCm deployment plan (grilled decisions, port 7770) 2026-08-10 22:02:28 -07:00
Frank 2a7571abdc chore: remove stale root-level duplicates of scripts/ files
- validate-vllm.sh (root) superseded by scripts/validate-vllm.sh
- vllm-qwen36.sh superseded by scripts/serve-vllm-qwen36-dflash.sh
2026-08-10 21:12:48 -07:00
Frank f650fff0aa docs: polish pass — fix stale names, duplicates, branding, and README
- Normalize 'VLLM' to 'vLLM' in prose across 6 docs (32 occurrences; wikilink
  targets untouched)
- Remove duplicated Environment Variables block in 27B Dankclaw doc
- Update stale model refs Qwen3-30B-A3B -> Qwen3.6-35B-A3B in example commands
- Fix VLLM Index: -- separators to em-dashes; correct model names on links
- README: document active services (ROCmFPX llama-server on Dankclaw, vLLM
  AWQ on Dankserver), replace broken [[docs/README.md]] link with docs/index.md
2026-08-10 21:12:23 -07:00
Frank 993b6af576 docs: add DFlash/DSpark speculative decoding research + quantization-by-hardware guide
- DFlash DSpark Speculative Decoding.md: verified method details (DFlash
  block diffusion from Z Lab arXiv:2602.06036; DSpark semi-autoregressive from
  DeepSeek arXiv:2607.05147), runtime support matrix (vLLM/llama.cpp/SGLang),
  exact vLLM --speculative-config recipes (incl. dflash/dspark), llama.cpp
  --spec-type recipes with sidecar auto-discovery, draft model table
  (z-lab Qwen3.6-27B-DFlash 2B, Qwen3.6-35B-A3B-DFlash 0.4B), deployment
  guidance for RTX 3090 (AWQ+Dflash) and Strix Halo (ROCmFPX MTP), measured
  45-50 t/s MTP decode on Strix Halo
- Quantization by Hardware Architecture.md: FP8/INT8/INT4/GPTQ/AWQ/GGUF/FP4/
  ROCmFP4 support per NVIDIA (Turing/Ampere/Ada/Hopper/Blackwell), AMD
  (CDNA MI250/MI300/MI350, RDNA 3/3.5/4), and CPU; recommended picks per
  Dankserver (AWQ/GPTQ 4-bit) and Dankclaw (ROCmFP4/Q4_K_M)
- index.md: link both new pages under Speculative Decoding & Quantization
2026-08-10 21:09:17 -07:00
Frank 90c4883f89 feat: add consistent deployment/update process (deploy.sh + docs + AGENTS.md)
- scripts/deploy.sh: target-aware deploy (dankclaw/dankserver). Pushes main,
  pulls on the target, installs/enables systemd unit, restarts service, and
  checks the health endpoint; --dry-run preview; pre-flight dirty-tree check
- docs/deployment.md: full deployment/update process with mermaid workflow,
  target map, manual update commands, service units, and troubleshooting
- AGENTS.md: add Deployment & Update Process section (deploy.sh usage, target
  map, mermaid workflow) and a Summary table row
- docs/index.md: crosslink deployment doc
2026-08-10 21:04:37 -07:00
Frank 3a64c8f3dd docs: fact-check knowledge base against live machines and vLLM source
Correct stale and incorrect facts after exhaustive verification:
- Dankclaw: NUMA node 0 = 31213 MB; disk 661G/1.1T/38%; vLLM 0.26.0 in
  /home/dank/vllm-rocm-venv (not vllm-env); clarify 96 GiB GPU-visible is a
  driver overcommit ceiling over 30 GiB physical (confirmed via sysfs
  mem_info_vram_total=103079215104)
- Dankserver: disk 729G/140G free/84%; /mnt/entropy 910G free; active service
  is vLLM EngineCore (22 GB), not llama-server; CPU model Ryzen 7 7700X
- index.md: Dankclaw 30GiB phys / 96GiB GPU-visible (was '61 GB unified');
  add deployment topology mermaid diagram
- vLLM defaults (from source): gpu_memory_utilization=0.92, max_num_seqs=128,
  swap_space removed (now --kv-offloading-size) across Overview/Index/RAM/Hybrid
- Quantization: FP8 not native on Ampere (RTX 3090) or RDNA 3.5 (gfx1151);
  add per-model hardware quantization notes; AWQ/GPTQ limited on ROCm
- Speculative decoding: add DFlash, DSpark, MTP, EAGLE3 to feature list
- Confirm Qwen3.6-27B and Qwen3.6-35B-A3B specs are correct (HF-verified)
- Production note: Dankclaw primary llama.cpp service runs ROCmFPX
  Ling-3.0-flash RocmFP4 MTP, not vLLM Qwen3.6-27B
2026-08-10 20:59:33 -07:00
Frank 841d872aa7 sync scripts from remotes: ROCmFPX llama-server.service (dankclaw), dankserver vLLM serve/validate; drop failed-attempt scripts
- llama-server.service: dankclaw migrated to ROCmFPX runtime (Ling-3.0-flash,
  draft-mtp, no-mmap/direct-io) from regular llama.cpp Qwen3.6-27B-DFlash
- serve-vllm-qwen36-dflash.sh: dankserver version (relies on image 'vllm serve'
  entrypoint; HF cache mounted read-write)
- validate-vllm.sh: dankserver multi-stream vLLM validation (4 unique prompts,
  1-4 streams, prompt+completion speed)
- remove superseded scripts: serve-llamacpp-dflash.sh, validate.sh,
  vllm-awq-qwen36-dflash-ampere.sh, vllm-qwen36.service
2026-08-10 19:48:46 -07:00
Frank ced4c6f46e sync: update vllm-awq-qwen36-dflash-ampere.sh from dankserver
- Model: Avesed/Qwen3.6-35B-A3B-INT8-W8A8 (was AWQ 4bit)
- Image: vllm/vllm-openai:nightly (was :latest)
- Spec method: mtp with 2 tokens (was dflash with 12)
- Max model len: 200700 (was 32768)
- Max num seqs: 3 (was 1)
- Max batched tokens: 3072 (was 4096)
- GPU mem util: 0.97 (was 0.96)
- CPU offload: 30GB (was 40GB)
- Add --enable-prefix-caching
- Add --kv-cache-dtype auto
2026-08-10 03:23:09 -07:00
Frank 11d66c3823 Set max-model-len to 32768 for testing 2026-08-09 22:19:32 -07:00
Frank 6bdabfc65b Add VLLM_USE_V2_MODEL_RUNNER=0 to skip V2 model runner MARLIN repacking OOM 2026-08-09 21:49:25 -07:00
Frank 83b0bea29b Fix: move commented speculative config to end to not break bash line continuation 2026-08-09 12:27:28 -07:00
Frank 88aa18ef34 Reduce GPU memory to 75%, add expandable_segments to fix OOM 2026-08-09 12:11:48 -07:00
Frank 9dfa16fae9 Disable speculative decoding - OOM on stable vLLM too 2026-08-09 12:08:26 -07:00
Frank 578c3e8f71 Enable DFlash speculative decoding (12 tokens), increase CPU offload to 20GB 2026-08-09 11:54:40 -07:00
Frank 8c13c7bbaa Add AGENTS.md git workflow rules and initial vllm-awq-qwen36-dflash-ampere.sh from dankserver 2026-08-09 11:54:04 -07:00
Frank ad96733340 Merge PR #1: Update AGENTS.md with target-specific branching and service status 2026-08-09 11:03:12 -07:00
Frank 0f97dcf449 Update validation script to test parallel streams (4 concurrent requests) 2026-08-08 00:30:08 -07:00
Frank 9971bdef0f feat: initial vLLM Qwen3.6-35B-A3B-FP8 serve script with DFlash drafting on dankserver
- Podman container with CUDA GPU access
- DFlash speculative decoding via --spec-method dflash
- FP8 KV cache, 4 parallel streams, 262K context
- CPU expert offloading via --cpu-offload-gb
- systemd service for persistent runtime
2026-08-07 18:28:38 -07:00
Frank 5452bb63f1 Add vLLM serve script, systemd service, and validation test for Qwen3.6-35B-A3B-FP8 on dankserver 2026-08-07 18:19:40 -07:00
Frank 663e47866b Bump context to 600000 (200000/stream x 3 parallel) 2026-08-07 17:18:10 -07:00
Frank a5f72627bb Use --alias frank-default-large, multi-stream validation script
- Replace --override-kv with --alias for model naming
- Validation script tests 1, 2, 3 parallel streams sequentially
- Model name confirmed: frank-default-large
2026-08-07 17:15:09 -07:00
Frank 471e963350 Fix parallel validation, remove ngram-mod
- Rewrite validation script with temp files for true parallel curl requests
- Both prompts now complete 1024 tokens each (was cutting first short)
- Remove ngram-mod from spec pipeline (was -1.2 tok/s regression)
- True parallel throughput: 15.68 tok/s across 2 streams
2026-08-07 16:44:12 -07:00
Frank 2426ca563a Add ngram-mod to spec pipeline: -1.2 tok/s regression
- DFlash+ngram-mod: 17.11 tok/s vs DFlash alone: 18.34 tok/s
- ngram overhead not offset by acceptance rate at current settings
- Keeping in place for now, may tune ngram-mod params later
2026-08-07 16:25:49 -07:00
Frank 764a65080f Validation: 2 parallel prompts, ~18 tok/s with DFlash
- Add second parallel prompt (Byzantine Empire history vs ML)
- Both hit 1024 tokens, combined 2048 in 111.6s = 18.34 tok/s
- Parallel throughput matches single-stream baseline
2026-08-07 16:21:20 -07:00
Frank 25d57184a6 Enable DFlash speculative decoding, remove mlock
- Add --spec-type draft-dflash (was missing, DFlash was inactive)
- Change --load-mode from mlock to none (RLIMIT_MEMLOCK too small for 2.7GB)
- Increase validation max_tokens from 256 to 1024 with complex ML prompt
- Baseline: 18.76 tok/s (was 7.62 tok/s without DFlash)
2026-08-07 16:10:55 -07:00
Frank 1949f0651b Pivot to llama.cpp with DFlash speculative decoding on ROCm
- Abandon vLLM/FP8 (Triton compilation hangs, ~0.5 tok/s on Strix Halo)
- llama.cpp v10133 with ROCm0 offload, DFlash draft model
- Main: unsloth/Qwen3.6-27B-MTP-GGUF:Q8_0 (~22GB)
- Draft: Alittlehammmer/Qwen3.6-27B-DFlash-GGUF-llama.cpp:Q8_0 (~1.8GB)
- 3 parallel streams, 131072 context/stream
- systemd service with minimal sandboxing (ROCm requires /dev/kfd access)
- Baseline: 7.62 tok/s (threshold 5.0 tok/s)
2026-08-07 15:41:27 -07:00
Frank 2bb1b2ae1d Baseline: ThinkingCap 27B FP8 on dankclaw with enforce-eager and validation timeout 2026-08-07 08:58:20 -07:00
Frank e4fba35e89 Baseline: ThinkingCap 27B FP8 on dankclaw
- vLLM 0.26.0+rocm723
- --kv-cache-dtype fp8 --gpu-memory-utilization 0.80
- --max-model-len 32768 --max-num-batched-tokens 2048
- --max-num-seqs 32 --reasoning-parser qwen3 --language-model-only
- Baseline response time: 219s for 50 tokens
2026-08-07 08:49:59 -07:00
Frank 7dce375ab4 docs: fix dankclaw specs (30GiB RAM, 96GiB GPU-visible, ROCm 7.2.4) + add validate.sh 2026-08-06 22:40:44 -07:00
Frank 5076ef828f chore: fix typo in dankclaw specs, format index table 2026-08-06 22:29:23 -07:00
Frank dc356acce7 docs: add top-level knowledge base index 2026-08-06 00:16:47 -07:00
Frank 671129ea69 chore: ignore obsidian workspace files 2026-08-06 00:14:06 -07:00
Frank 39db415348 feat: initialize vLLM scripts knowledge base
- VLLM Overview: installation, CLI, API, architecture, quantization, parallelism
- VLLM Index: quick reference with commands, endpoints, parameters
- Dankserver System Specs: RTX 3090 24GB, 62GB RAM, Ubuntu 24.04
- Dankclaw System Specs: AMD Strix Halo APU, 61GB unified, ROCm 7.1
- RAM/CPU Offloading in VLLM: KV cache swap, gpu_memory_utilization, preemption
- Hybrid CPU/GPU Processing (Dankserver): NVIDIA GPU + system RAM configuration
- Shared Memory Architecture (Dankclaw): AMD unified memory and ROCm setup
- Running Qwen3.6 35B A3B FP8 on Dankserver: MoE model deployment guide
- Running Qwen3.6 27B FP8 on Dankclaw: dense model deployment guide
2026-08-05 23:49:02 -07:00