-
Notifications
You must be signed in to change notification settings - Fork 277
feat(config): add GLM-5.2 GB300 AgentX concurrency-1 disaggregated point / 添加 GLM-5.2 GB300 AgentX 并发度 1 分离式配置 #2720
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
b9691af
524c19f
c67691e
5e7d158
92a3787
9a3e9c4
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,177 @@ | ||
| name: dynamo-disagg-gb300-1p1d-tp8-c1-b1-mtp5 | ||
|
|
||
| model: | ||
| path: nvidia/GLM-5.2-NVFP4 | ||
| container: nvcr.io/nvidia/tensorrt-llm/release:1.3.0rc22.post1 | ||
| precision: fp4 | ||
|
|
||
| dynamo: | ||
| install: true | ||
| wheel: 1.4.0.dev20260807 | ||
| request_plane: tcp | ||
|
|
||
| health_check: | ||
| max_attempts: 270 | ||
| interval_seconds: 10 | ||
|
|
||
| resources: | ||
| gpu_type: gb300 | ||
| gpus_per_node: 4 | ||
| prefill_nodes: 1 | ||
| prefill_workers: 1 | ||
| gpus_per_prefill: 4 | ||
| decode_nodes: 2 | ||
| decode_workers: 1 | ||
| gpus_per_decode: 8 | ||
|
|
||
| backend: | ||
| type: trtllm | ||
| prefill_environment: &server_environment | ||
| HF_HUB_OFFLINE: "1" | ||
| TRANSFORMERS_OFFLINE: "1" | ||
| TQDM_DISABLE: "1" | ||
| HF_HUB_DISABLE_PROGRESS_BARS: "1" | ||
| TLLM_LOG_LEVEL: INFO | ||
| TRTLLM_SERVER_DISABLE_GC: "1" | ||
| TRTLLM_WORKER_DISABLE_GC: "1" | ||
| TRTLLM_ENABLE_PDL: "1" | ||
| NCCL_GRAPH_MIXING_SUPPORT: "0" | ||
| MIMALLOC_PURGE_DELAY: "0" | ||
| PYTORCH_CUDA_ALLOC_CONF: expandable_segments:True | ||
| TRTLLM_SERVE_ENABLE_MSGSPEC: "1" | ||
| TLLM_ADP_ROUTER_MATCH_RATE_THRESHOLD: "0.10" | ||
| TRTLLM_KV_CACHE_TRANSFER_TIMEOUT_SEC: "600" | ||
| UCX_CUDA_IPC_ENABLE_MNNVL: "y" | ||
| UCX_RNDV_SCHEME: put_zcopy | ||
| TRTLLM_KVCACHE_SEND_BUFFER_COUNT: "1" | ||
| TRTLLM_KVCACHE_RECV_BUFFER_COUNT: "1" | ||
| TLLM_SPEC_DECODE_FORCE_NUM_ACCEPTED_TOKENS: "2.61" | ||
| DYN_TRTLLM_ENABLE_ATTENTION_DP: "1" | ||
| DYN_ENGINE_CONV_AFFINITY: "1" | ||
| DYN_TOKENIZER: fastokens | ||
| DYN_PUBLISH_KV_EVENTS: "0" | ||
| decode_environment: *server_environment | ||
| trtllm_config: | ||
| prefill: | ||
| attention_dp_config: | ||
| enable_kv_cache_aware_routing: false | ||
| kv_cache_routing_conversation_affinity: true | ||
| kv_cache_routing_max_sessions: 65536 | ||
| cache_transceiver_config: | ||
| backend: NIXL | ||
| transceiver_runtime: PYTHON | ||
| kv_cache_bounce_size_mb: 5120 | ||
| max_tokens_in_buffer: 1048576 | ||
| kv_transfer_timeout_ms: 600000 | ||
| cuda_graph_config: null | ||
| disable_overlap_scheduler: false | ||
| enable_attention_dp: true | ||
| enable_chunked_prefill: true | ||
| trust_remote_code: true | ||
| kv_cache_config: | ||
| dtype: fp8 | ||
| enable_block_reuse: true | ||
| event_buffer_max_size: 0 | ||
| free_gpu_memory_fraction: 0.75 | ||
| host_cache_size: 137438953472 | ||
| tokens_per_block: 64 | ||
| max_batch_size: 256 | ||
| max_num_tokens: 8192 | ||
| max_seq_len: 1048576 | ||
| moe_config: | ||
| backend: CUTEDSL | ||
| moe_expert_parallel_size: 4 | ||
| num_postprocess_workers: 8 | ||
| pipeline_parallel_size: 1 | ||
| print_iter_log: true | ||
| return_perf_metrics: false | ||
| scheduler_config: | ||
| capacity_scheduler_policy: MAX_UTILIZATION | ||
| sparse_attention_config: | ||
| algorithm: dsa | ||
| enable_heuristic_topk: true | ||
| speculative_config: | ||
| decoding_type: MTP | ||
| max_draft_len: 5 | ||
| tensor_parallel_size: 4 | ||
| decode: | ||
| cache_transceiver_config: | ||
| backend: NIXL | ||
| transceiver_runtime: PYTHON | ||
| kv_cache_bounce_size_mb: 5120 | ||
| max_tokens_in_buffer: 1048576 | ||
| kv_transfer_timeout_ms: 600000 | ||
| cuda_graph_config: | ||
| batch_sizes: [1] | ||
| enable_padding: true | ||
| enable_attention_dp: false | ||
| trust_remote_code: true | ||
| kv_cache_config: | ||
| dtype: fp8 | ||
| enable_block_reuse: false | ||
| event_buffer_max_size: 0 | ||
| free_gpu_memory_fraction: 0.8 | ||
| tokens_per_block: 64 | ||
| max_batch_size: 1 | ||
| max_num_tokens: 128 | ||
| max_seq_len: 1048576 | ||
| moe_config: | ||
| backend: TRTLLM | ||
| use_low_precision_moe_combine: true | ||
| moe_expert_parallel_size: 1 | ||
| num_postprocess_workers: 4 | ||
| pipeline_parallel_size: 1 | ||
| print_iter_log: true | ||
| return_perf_metrics: false | ||
| sparse_attention_config: | ||
| algorithm: dsa | ||
| enable_heuristic_topk: true | ||
| use_cute_dsl_paged_mqa_logits: true | ||
| use_cute_dsl_topk: true | ||
| speculative_config: | ||
| decoding_type: MTP | ||
| max_draft_len: 5 | ||
| stream_interval: 20 | ||
| tensor_parallel_size: 8 | ||
| publish_events_and_metrics: false | ||
|
|
||
| frontend: | ||
| type: dynamo | ||
| enable_multiple_frontends: false | ||
| env: | ||
| ETCD_LEASE_TTL: '120' | ||
| DYN_ROUTER_QUEUE_THRESHOLD: None | ||
| DYN_ROUTER_TEMPERATURE: '0' | ||
| DYN_TOKENIZER_CACHE: '1' | ||
| DYN_TOKENIZER_CACHE_BYTES: '8000000000' | ||
| DYN_TOKENIZER: fastokens | ||
| DYN_TCP_REQUEST_TIMEOUT: '30' | ||
| DYN_LOG: warn | ||
| DYN_ROUTER_SESSION_AFFINITY_TTL_SECS: '14400' | ||
| args: | ||
| router-mode: kv | ||
| no-kv-events: true | ||
| active-decode-blocks-threshold: None | ||
| active-prefill-tokens-threshold: None | ||
| active-prefill-tokens-threshold-frac: None | ||
| orchestrator_placement: head | ||
|
|
||
| benchmark: | ||
| type: custom | ||
| command: bash /infmax-workspace/benchmarks/multi_node/agentic_srt.sh | ||
| env: | ||
| INFMAX_CONTAINER_WORKSPACE: /infmax-workspace | ||
| RESULT_DIR: /logs/agentic | ||
| PORT: '8000' | ||
| IS_MULTINODE: 'true' | ||
| AIPERF_DYNAMO_SESSION_TIMEOUT_SECONDS: '14400' | ||
| AIPERF_DATASET_MMAP_CACHE_DIR: /aiperf_mmap_cache | ||
| HF_HUB_CACHE: /hf_hub_cache | ||
| WEKA_LOADER_OVERRIDE: semianalysis_cc_traces_weka_062126 | ||
| AIPERF_DATASET_WEKA_LIVE_ASSISTANT_RESPONSES: "0" | ||
| SERVED_MODEL_NAME: GLM-5.2-NVFP4 | ||
| MAX_MODEL_LEN: '1048576' | ||
| AIPERF_HTTP_X_DYNAMO_SESSION_ID_FROM_CORRELATION_ID: 'true' | ||
| AIPERF_USE_DYNAMO_CONV_AWARE_ROUTING: '0' | ||
| OPENAI_API_KEY: EMPTY | ||
| KV_OFFLOADING: dram | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6476,7 +6476,6 @@ | |
| - "Add HiCache host-DRAM KV tier arms at TP4 concurrency 40, 48, 56, and 64 and TP2 concurrency 20, 24, 28, and 32, using hicache ratio 1.5 with write_through, direct io, and page_first_direct layout." | ||
| pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2693 | ||
|
|
||
|
|
||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Changelog historical bytes were editedMedium Severity A blank separator line was deleted between existing Reviewed by Cursor Bugbot for commit 9a3e9c4. Configure here. |
||
| - config-keys: | ||
| - kimik2.6-fp4-b200-dynamo-vllm | ||
| - dsv4-fp4-b200-dynamo-vllm | ||
|
|
@@ -6547,3 +6546,14 @@ | |
| - "Filter AgentX traces at the same 202,752-token context limit used by both TileRT roles so oversized Weka trajectories are excluded before replay." | ||
| - "Pin SemiAnalysisAI/srt-slurm PR #10 commit d1e6c97b3baf3e87103b6d83189544c3c7d61c38, stacked on the AMD/native-router PR #7 and base runtime PR #1, including explicit native HTTP dependencies, GLM-5.1-compatible Transformers v5 router tokenization, incomplete-snapshot recovery, backend-declared conversion GPU resources, pre-container NVIDIA driver-hook activation, and lossless Slurm container-environment exports." | ||
| pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2750 | ||
|
|
||
| - config-keys: | ||
| - glm5.2-fp4-gb300-dynamo-trt-agentic-disagg-mtp | ||
| scenario-type: | ||
| - agentic-coding | ||
| description: | ||
| - "Add a GLM-5.2 concurrency-1 AgentX point using a 1-prefill/1-decode disaggregated topology with TP4 attention-DP prefill and TP8 decode." | ||
| - "Use MTP depth 5 with the committed golden acceptance target, tensor-parallel MoE on decode, and the CUTEDSL top-k path." | ||
| - "Align recipe KV offloading with the master config and keep the benchmark client colocated with the frontend orchestrator." | ||
| - "Add the new concurrency-1 topology to the existing disaggregated configuration key while retaining all published points." | ||
| pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2720 | ||


There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DRAM offload env vars missing
High Severity
The new recipe sets
KV_OFFLOADINGtodraminbenchmark.env, but omitsKV_OFFLOAD_BACKENDandTOTAL_CPU_DRAM_GB.agentic_srt.shsourcesbenchmark_lib.sh, which exits immediately when DRAM offload is enabled without those variables, so the new concurrency-1 point fails before replay starts. Sibling GLM-5.2 srt-slurm recipes keepKV_OFFLOADINGasnoneand do not take this path.Reviewed by Cursor Bugbot for commit 5e7d158. Configure here.