Adds ALL files needed for Dockerfile build:
- qwen3_6_scripts/ (baseline patches + our optimizations)
- vllm/ (full vllm package)
- paged_attention_v2_pytorch.py (V2 with single-bmm optimization)
- Dockerfile + computility-run.yaml
Our optimizations vs baseline:
1. paged_attn.py: pre-gathered context KV (eliminates 194 gather calls),
Triton try/fallback, V2 heuristic, threshold 32K→64K
2. paged_attention_v2_pytorch.py: fills NotImplementedError,
single-bmm Phase 1 (195 launches → 3)
3. patch_enable_triton.py: HAS_TRITON=True with safety fallback
4. patch_triton_tuning.py: BLOCK=64, NUM_WARPS=4 for BI-V100
5. computility-run.yaml: gpu-memory-utilization 0.9→0.95,
max-num-batched-tokens 8192→16384
This repo can now be submitted to dev.modelhub.org.cn as-is.
28 lines
870 B
Python
28 lines
870 B
Python
from array import array
|
|
from typing import Any, Type
|
|
|
|
from vllm.sequence import VLLM_TOKEN_ID_ARRAY_TYPE
|
|
|
|
|
|
def encode_hook(obj: Any) -> Any:
|
|
"""Custom msgspec enc hook that supports array types.
|
|
|
|
See https://jcristharif.com/msgspec/api.html#msgspec.msgpack.Encoder
|
|
"""
|
|
if isinstance(obj, array):
|
|
assert obj.typecode == VLLM_TOKEN_ID_ARRAY_TYPE, (
|
|
f"vLLM array type should use '{VLLM_TOKEN_ID_ARRAY_TYPE}' type. "
|
|
f"Given array has a type code of {obj.typecode}.")
|
|
return obj.tobytes()
|
|
|
|
|
|
def decode_hook(type: Type, obj: Any) -> Any:
|
|
"""Custom msgspec dec hook that supports array types.
|
|
|
|
See https://jcristharif.com/msgspec/api.html#msgspec.msgpack.Encoder
|
|
"""
|
|
if type is array:
|
|
deserialized = array(VLLM_TOKEN_ID_ARRAY_TYPE)
|
|
deserialized.frombytes(obj)
|
|
return deserialized
|