| #!/bin/bash |
| |
| |
| |
| |
| MODEL_DIR="${MODEL_DIR:-$PWD/GLM-5.3-Flash-NVFP4-FP8ATTN-512K}" |
| CACHE_DIR="${CACHE_DIR:-$HOME/.cache/vllm-glm53}" |
| set -e |
| MAXLEN="${1:-524288}" |
| IMAGE="${2:-local/vllm-glm53:fp8attn-r4}" |
| shift 2 2>/dev/null || shift $# 2>/dev/null || true |
| MM_ARGS=() |
| if [ "${MM:-0}" = "0" ]; then |
| MM_ARGS=(--limit-mm-per-prompt '{"image":0,"video":0}') |
| fi |
| SPEC_ARGS=(--speculative-config '{"method":"mtp","num_speculative_tokens":1}') |
| if [ "${SPEC:-1}" = "0" ]; then |
| SPEC_ARGS=() |
| fi |
| exec docker run --name glm-512k-fit --init --rm \ |
| --gpus all \ |
| --runtime nvidia \ |
| --ipc=host \ |
| --network host \ |
| --shm-size=32g \ |
| --ulimit memlock=-1 \ |
| --ulimit stack=67108864 \ |
| -e VLLM_ENGINE_READY_TIMEOUT_S=3600 \ |
| -e HF_HUB_OFFLINE=1 \ |
| -e VLLM_MEMORY_PROFILER_ESTIMATE_CUDAGRAPHS="${ESTG:-1}" \ |
| -v "$MODEL_DIR":/model:ro \ |
| -v "$CACHE_DIR":/root/.cache \ |
| "$IMAGE" \ |
| /model \ |
| --served-model-name glm-5.3-flash-fp8attn \ |
| --host 0.0.0.0 \ |
| --port 18996 \ |
| --tensor-parallel-size 2 \ |
| --max-model-len "$MAXLEN" \ |
| --gpu-memory-utilization "${UTIL:-0.98}" \ |
| --kv-cache-dtype fp8 \ |
| --max-num-seqs "${SEQS:-2}" \ |
| --max-num-batched-tokens "${BATCHED:-2048}" \ |
| --enable-prefix-caching \ |
| --no-enable-flashinfer-autotune \ |
| --enable-auto-tool-choice \ |
| --tool-call-parser glm47 \ |
| --reasoning-parser glm45 \ |
| --trust-remote-code \ |
| "${SPEC_ARGS[@]}" \ |
| "${MM_ARGS[@]}" \ |
| "$@" |
|
|