Run on 8x3090 (or other Ampere)

#1
by avtc - opened

Good quant, thanks!

Here is a branch that adds support of Ampere cards (3090 etc).

# switch the editable install onto the mixed-precision branch
git remote add avtc https://github.com/avtc/vllm.git
git fetch avtc feature/inkling-w4a16-mixed-precision-ampere
git checkout feature/inkling-w4a16-mixed-precision-ampere

example start command:

export TORCH_CUDA_ARCH_LIST="8.6"
export CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
export RAY_memory_monitor_refresh_ms=0
export NCCL_CUMEM_ENABLE=0
export VLLM_ENABLE_CUDAGRAPH_GC=1

export VLLM_MEMORY_PROFILER_ESTIMATE_CUDAGRAPHS=0
export VLLM_ALLOW_LONG_MAX_MODEL_LEN=1
export VLLM_MARLIN_USE_ATOMIC_ADD=1
export VLLM_FLOAT32_MATMUL_PRECISION=high
export OMP_NUM_THREADS=1

vllm serve /home/ubuntu/models/Inkling-Small-AWQ-INT4-cyankiwi \
    -tp 8 \
    -dp 1 \
    --served-model-name ink-small \
    --port 8000 \
    --host 0.0.0.0 \
    --uvicorn-log-level info \
    --trust-remote-code \
    --gpu-memory-utilization 0.87 \
    --seed 1234 \
    --enable-sleep-mode \
    --skip-mm-profiling \
    -O3 \
    --no-use-tqdm-on-load \
    --tokenizer-mode inkling \
    --tool-call-parser inkling \
    --reasoning-parser inkling \
    --enable-auto-tool-choice \
    --performance-mode balanced \
    --enable-chunked-prefill \
    --max-num-seqs 4 \
    --max-model-len auto \
    --default-chat-template-kwargs '{"interleaved_thinking": true, "preserve_thinking": true}' \
    --kernel-config.enable_flashinfer_autotune=False \
    --enable-prefix-caching \
    --max-num-batched-tokens 2048

Notes:
fp16 kv-cache gives 414912 context size, vram usage 23.85GB per card. (lower --gpu-memory-utilization in case of cuda oom in the process)
fp8 or KVarN are not supported.

Sign up or log in to comment