Skip to content

πŸ—ΊοΈ Roadmap: vLLM Full Compatibility (NPU-first)Β #205

Description

@lvyufeng

Goal

Make candle a backend capable of running vLLM workloads end-to-end, starting with an NPU-first target (Ascend / HCCL / ACLNN).

Near-term MVP target:

  • single-node
  • text generation
  • TP=1 first
  • no quantization initially

Longer-term target:

  • tensor parallel
  • graph capture
  • quantization
  • serving-grade throughput

Current State

Capability Status Notes
NPU backend (ACLNN) βœ… Strong Mature op coverage, allocator, streams
NPU graph capture (NPUGraph) βœ… Exists Needs vLLM-style validation
HCCL distributed collectives βœ… Strong all_reduce / all_gather / reduce_scatter / all_to_all
CUDA backend ❌ Skeletal Not viable for vLLM today
NCCL backend ❌ Missing CUDA TP path blocked
torch.compile ⚠️ No-op stub No real graph/compile backend
torch.library / custom_op βœ… Exists Useful for custom kernel registration
torch.ops namespace ❌ Stub only load_library() no-op
SDPA / fused attention ⚠️ Composite only No paged attention / flash attention
Meta/Fake tensors ❌ Missing Needed for shape-only init/tracing
Quantization ❌ Missing No GPTQ/AWQ/FP8/INT8 kernels
Tensor-level record_stream() ❌ Missing Allocator-level only

Key Blockers

  1. No PagedAttention / fused decode attention kernel
  2. torch.ops namespace is stubbed
  3. No meta/fake tensor support
  4. No real torch.compile / graph lowering story
  5. No quantized kernel path
  6. CUDA backend is not a practical target yet

Given current candle strengths, vLLM-on-NPU is realistic; vLLM-on-CUDA is not a near-term goal.


Sub-Issues

Phase 1: API Compatibility Foundation (Target: July 2026)

Phase 2: Core Serving Kernels (Target: September 2026)

Phase 3: Runtime Integration (Target: November 2026)

Phase 4: Full Serving Feature Set (Stretch β€” Q1 2027)


Cross-Roadmap Duplicates

Capability vLLM HF Megatron Notes
Meta device #237 #223 β€” Resolving one closes both
Library() 3-arg #235 #226 β€” Resolving one closes both
_dynamo / compiler stubs #239 #225 β€” Partial overlap; coordinate work

Milestones / DDL

  • API compatibility base: 2026-07-31
  • NPU serving MVP (single model, TP=1, no quant): 2026-09-30
  • NPU production-oriented integration (graphs + TP validation + E2E tests): 2026-11-30
  • Full-feature serving stretch goal: 2027-03-31

Success Criteria

  • import vllm-style initialization paths no longer fail on missing PyTorch APIs
  • Candle can execute prefill + decode for at least one small causal LM on NPU
  • NPUGraph replay is validated on decode workloads
  • HCCL-backed TP primitives are validated for serving use cases
  • Throughput gap vs torch_npu baseline is understood and benchmarked

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions