reyden009/speculative-decoding-lab
4
1[project]2name = "speculative-decoding-lab"3version = "0.1.0"4description = "Empirical study of speculative decoding on an RTX 4060 Ti 16 GB: Gemma-4/Qwen-3 GGUF with modern drafters (EAGLE-3, DFlash, DSpark)"5readme = "README.md"6requires-python = ">=3.12"7dependencies = [8 "numpy>=2.0",9 # matplotlib: figures for the analysis/paper (F1a-F4); pinned in uv.lock.10 "matplotlib>=3.9",11 # NVIDIA wheels for Python runtime. NOTE: the nvcc binary is NOT distributed12 # on PyPI (only ptxas) — the real CUDA toolkit is installed with the runfile13 # in $HOME/cuda without sudo (see scripts/spec-env.sh). Verified 2026-08-03.14 "nvidia-cuda-runtime-cu12>=12.4,<12.5",15 "nvidia-cublas-cu12>=12.4,<12.5",16 "nvidia-nvjitlink-cu12>=12.4,<12.5",17 "safetensors>=0.8.0",18 "sentencepiece>=0.2.2",19 "tiktoken>=0.13.0",20 "torch>=2.13.0",21 "pyyaml>=6.0.3",22 "transformers>=5.14.1",23]24 25[dependency-groups]26dev = [27 "ruff>=0.8",28 "pyright>=1.1",29 "cmake>=4.4.0",30 "ninja>=1.13.0",31]32 33[tool.ruff]34line-length = 10035target-version = "py312"36 37[tool.ruff.lint]38select = ["E", "F", "W", "I", "B", "UP", "S"]39 40# S-* = bandit: false positives in download utilities (fixed repo URLs,41# read-only arXiv feed; S603/S607 are pdftotext with owned paths).42[tool.ruff.lint.per-file-ignores]43"scripts/dl.py" = ["S310"]44 45[tool.pyright]46pythonVersion = "3.12"47typeCheckingMode = "basic"48exclude = ["models", "papers", "notes"]49# scripts/ is a root module without a package; pyright needs it as extraPaths.50extraPaths = ["scripts"]51 