Skip to content
Open
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
name: disagg-b200-8k1k-1p2d-dep8-dep8-b4-eplb384-mtp3
model:
path: deepseek-v4-pro
container: dynamo-trtllm
precision: fp4
dynamo:
install: true
wheel: "1.4.0.dev20260807"
request_plane: tcp
resources:
gpu_type: b200
prefill_nodes: 1
prefill_workers: 1
gpus_per_prefill: 8
decode_nodes: 2
decode_workers: 2
gpus_per_decode: 8
gpus_per_node: 8
backend:
type: trtllm
prefill_environment:
TLLM_LOG_LEVEL: INFO
TRTLLM_SERVER_DISABLE_GC: '1'
TRTLLM_WORKER_DISABLE_GC: '1'
TRTLLM_ENABLE_PDL: '1'
ENROOT_ALLOW_DEV: 'yes'
NCCL_GRAPH_MIXING_SUPPORT: '0'
MIMALLOC_PURGE_DELAY: '0'
PYTORCH_CUDA_ALLOC_CONF: expandable_segments:True
TLLM_PROFILE_LOG_RANKS: all
TLLM_SPEC_DECODE_FORCE_NUM_ACCEPTED_TOKENS: '1.82'
UCX_TLS: rc,cuda_ipc,cuda_copy,sm,self,tcp
NIXL_PLUGIN_DIR: /opt/nvidia/nvda_nixl/lib/x86_64-linux-gnu/plugins
decode_environment:
TLLM_LOG_LEVEL: INFO
TRTLLM_SERVER_DISABLE_GC: '1'
TRTLLM_WORKER_DISABLE_GC: '1'
TRTLLM_ENABLE_PDL: '1'
ENROOT_ALLOW_DEV: 'yes'
NCCL_GRAPH_MIXING_SUPPORT: '0'
MIMALLOC_PURGE_DELAY: '0'
TLLM_PROFILE_LOG_RANKS: all
TLLM_SPEC_DECODE_FORCE_NUM_ACCEPTED_TOKENS: '1.82'
UCX_TLS: rc,cuda_ipc,cuda_copy,sm,self,tcp
NIXL_PLUGIN_DIR: /opt/nvidia/nvda_nixl/lib/x86_64-linux-gnu/plugins
trtllm_config:
prefill:
cache_transceiver_config:
backend: NIXL
kv_transfer_timeout_ms: 600000
transceiver_runtime: PYTHON
cuda_graph_config:
disable_overlap_scheduler: true
enable_attention_dp: true
kv_cache_config:
dtype: fp8
enable_block_reuse: false
free_gpu_memory_fraction: 0.5
tokens_per_block: 128
max_batch_size: 2
max_num_tokens: 8192
max_seq_len: 8232
moe_config:
backend: TRTLLM
load_balancer: /configs/moe_load_balancer_ctx_ep4_384.yaml
moe_expert_parallel_size: 8

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Prefill EPLB config EP mismatch

Medium Severity

Prefill moe_config.load_balancer points at moe_load_balancer_ctx_ep4_384.yaml while moe_expert_parallel_size is 8. That EPLB table is built for EP4 slot sharding, so DEP8 prefill places experts with the wrong rank mapping and can unbalance MoE load or OOM a subset of ranks.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 0aafb03. Configure here.

pipeline_parallel_size: 1
print_iter_log: true
speculative_config:
decoding_type: MTP
max_draft_len: 3
tensor_parallel_size: 8
decode:
cache_transceiver_config:
backend: NIXL
kv_transfer_timeout_ms: 600000
transceiver_runtime: PYTHON
cuda_graph_config:
batch_sizes:
- 1
- 2
- 4
enable_padding: true
enable_attention_dp: true
enable_lm_head_tp_in_adp: true
kv_cache_config:
dtype: fp8
enable_block_reuse: false
free_gpu_memory_fraction: 0.8
tokens_per_block: 128
max_batch_size: 4
max_num_tokens: 16
max_seq_len: 9256
moe_config:
backend: TRTLLM
load_balancer: /configs/moe_load_balancer_gen_ep8_slots384.yaml
use_low_precision_moe_combine: true
moe_expert_parallel_size: 8
num_postprocess_workers: 4
pipeline_parallel_size: 1
print_iter_log: true
speculative_config:
decoding_type: MTP
max_draft_len: 3
stream_interval: 100
tensor_parallel_size: 8
benchmark:
type: sa-bench
isl: 8192
osl: 1024
concurrencies: "64"
req_rate: inf
random_range_ratio: 0.8
use_chat_template: true
custom_tokenizer: "sa_bench_tokenizers.sglang_deepseek_v4.SGLangDeepseekV4Tokenizer"
frontend:
type: dynamo
enable_multiple_frontends: false
slurm:
time_limit: '3:00:00'
health_check:
max_attempts: 540
interval_seconds: 10
environment:
TRTLLM_SERVER_DISABLE_GC: '1'
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
name: disagg-b200-8k1k-1p4d-dep8-dep8-b2-eplb384-mtp3
model:
path: deepseek-v4-pro
container: dynamo-trtllm
precision: fp4
dynamo:
install: true
wheel: "1.4.0.dev20260807"
request_plane: tcp
resources:
gpu_type: b200
prefill_nodes: 1
prefill_workers: 1
gpus_per_prefill: 8
decode_nodes: 4
decode_workers: 4
gpus_per_decode: 8
gpus_per_node: 8
backend:
type: trtllm
prefill_environment:
TLLM_LOG_LEVEL: INFO
TRTLLM_SERVER_DISABLE_GC: '1'
TRTLLM_WORKER_DISABLE_GC: '1'
TRTLLM_ENABLE_PDL: '1'
ENROOT_ALLOW_DEV: 'yes'
NCCL_GRAPH_MIXING_SUPPORT: '0'
MIMALLOC_PURGE_DELAY: '0'
PYTORCH_CUDA_ALLOC_CONF: expandable_segments:True
TLLM_PROFILE_LOG_RANKS: all
TLLM_SPEC_DECODE_FORCE_NUM_ACCEPTED_TOKENS: '1.82'
UCX_TLS: rc,cuda_ipc,cuda_copy,sm,self,tcp
NIXL_PLUGIN_DIR: /opt/nvidia/nvda_nixl/lib/x86_64-linux-gnu/plugins
decode_environment:
TLLM_LOG_LEVEL: INFO
TRTLLM_SERVER_DISABLE_GC: '1'
TRTLLM_WORKER_DISABLE_GC: '1'
TRTLLM_ENABLE_PDL: '1'
ENROOT_ALLOW_DEV: 'yes'
NCCL_GRAPH_MIXING_SUPPORT: '0'
MIMALLOC_PURGE_DELAY: '0'
TLLM_PROFILE_LOG_RANKS: all
TLLM_SPEC_DECODE_FORCE_NUM_ACCEPTED_TOKENS: '1.82'
UCX_TLS: rc,cuda_ipc,cuda_copy,sm,self,tcp
NIXL_PLUGIN_DIR: /opt/nvidia/nvda_nixl/lib/x86_64-linux-gnu/plugins
trtllm_config:
prefill:
cache_transceiver_config:
backend: NIXL
kv_transfer_timeout_ms: 600000
transceiver_runtime: PYTHON
cuda_graph_config:
disable_overlap_scheduler: true
enable_attention_dp: true
kv_cache_config:
dtype: fp8
enable_block_reuse: false
free_gpu_memory_fraction: 0.5
tokens_per_block: 128
max_batch_size: 2
max_num_tokens: 8192
max_seq_len: 8232
moe_config:
backend: TRTLLM
load_balancer: /configs/moe_load_balancer_ctx_ep4_384.yaml
moe_expert_parallel_size: 8
pipeline_parallel_size: 1
print_iter_log: true
speculative_config:
decoding_type: MTP
max_draft_len: 3
tensor_parallel_size: 8
decode:
cache_transceiver_config:
backend: NIXL
kv_transfer_timeout_ms: 600000
transceiver_runtime: PYTHON
cuda_graph_config:
batch_sizes:
- 1
- 2
- 4
enable_padding: true
enable_attention_dp: true
enable_lm_head_tp_in_adp: true
kv_cache_config:
dtype: fp8
enable_block_reuse: false
free_gpu_memory_fraction: 0.8
tokens_per_block: 128
max_batch_size: 2

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CUDA graph batch exceeds max batch

Medium Severity

Decode cuda_graph_config.batch_sizes includes 4 while max_batch_size is 2. TRT-LLM graph capture for a batch larger than max_batch_size can fail engine setup or waste GPU memory. The sibling 1p2d recipe keeps these values aligned.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 14289a7. Configure here.

max_num_tokens: 8
max_seq_len: 9256
moe_config:
backend: TRTLLM
load_balancer: /configs/moe_load_balancer_gen_ep8_slots384.yaml
use_low_precision_moe_combine: true
moe_expert_parallel_size: 8
num_postprocess_workers: 4
pipeline_parallel_size: 1
print_iter_log: true
speculative_config:
decoding_type: MTP
max_draft_len: 3
stream_interval: 100
tensor_parallel_size: 8
benchmark:
type: sa-bench
isl: 8192
osl: 1024
concurrencies: "64"
req_rate: inf
random_range_ratio: 0.8
use_chat_template: true
custom_tokenizer: "sa_bench_tokenizers.sglang_deepseek_v4.SGLangDeepseekV4Tokenizer"
frontend:
type: dynamo
enable_multiple_frontends: false
slurm:
time_limit: '3:00:00'
health_check:
max_attempts: 540
interval_seconds: 10
environment:
TRTLLM_SERVER_DISABLE_GC: '1'
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
name: disagg-b200-8k1k-1p4d-dep8-tep8-b4-mtp3
model:
path: deepseek-v4-pro
container: dynamo-trtllm
precision: fp4
dynamo:
install: true
wheel: "1.4.0.dev20260807"
request_plane: tcp
resources:
gpu_type: b200
prefill_nodes: 1
prefill_workers: 1
gpus_per_prefill: 8
decode_nodes: 4
decode_workers: 4
gpus_per_decode: 8
gpus_per_node: 8
backend:
type: trtllm
prefill_environment:
TLLM_LOG_LEVEL: INFO
TRTLLM_SERVER_DISABLE_GC: '1'
TRTLLM_WORKER_DISABLE_GC: '1'
TRTLLM_ENABLE_PDL: '1'
ENROOT_ALLOW_DEV: 'yes'
NCCL_GRAPH_MIXING_SUPPORT: '0'
MIMALLOC_PURGE_DELAY: '0'
PYTORCH_CUDA_ALLOC_CONF: expandable_segments:True
TLLM_PROFILE_LOG_RANKS: all
TLLM_SPEC_DECODE_FORCE_NUM_ACCEPTED_TOKENS: '1.82'
UCX_TLS: rc,cuda_ipc,cuda_copy,sm,self,tcp
NIXL_PLUGIN_DIR: /opt/nvidia/nvda_nixl/lib/x86_64-linux-gnu/plugins
decode_environment:
TLLM_LOG_LEVEL: INFO
TRTLLM_SERVER_DISABLE_GC: '1'
TRTLLM_WORKER_DISABLE_GC: '1'
TRTLLM_ENABLE_PDL: '1'
ENROOT_ALLOW_DEV: 'yes'
NCCL_GRAPH_MIXING_SUPPORT: '0'
MIMALLOC_PURGE_DELAY: '0'
TLLM_PROFILE_LOG_RANKS: all
TLLM_SPEC_DECODE_FORCE_NUM_ACCEPTED_TOKENS: '1.82'
UCX_TLS: rc,cuda_ipc,cuda_copy,sm,self,tcp
NIXL_PLUGIN_DIR: /opt/nvidia/nvda_nixl/lib/x86_64-linux-gnu/plugins
trtllm_config:
prefill:
cache_transceiver_config:
backend: NIXL
kv_transfer_timeout_ms: 600000
transceiver_runtime: PYTHON
cuda_graph_config:
disable_overlap_scheduler: true
enable_attention_dp: true
kv_cache_config:
dtype: fp8
enable_block_reuse: false
free_gpu_memory_fraction: 0.5
tokens_per_block: 128
max_batch_size: 2
max_num_tokens: 8192
max_seq_len: 8232
moe_config:
backend: TRTLLM
moe_expert_parallel_size: 8
pipeline_parallel_size: 1
print_iter_log: true
speculative_config:
decoding_type: MTP
max_draft_len: 3
tensor_parallel_size: 8
decode:
cache_transceiver_config:
backend: NIXL
kv_transfer_timeout_ms: 600000
transceiver_runtime: PYTHON
cuda_graph_config:
batch_sizes:
- 1
- 2
- 4
enable_padding: true
enable_attention_dp: false
enable_lm_head_tp_in_adp: false
kv_cache_config:
dtype: fp8
enable_block_reuse: false
free_gpu_memory_fraction: 0.9
tokens_per_block: 128
max_batch_size: 4
max_num_tokens: 16
max_seq_len: 9256
moe_config:
backend: TRTLLM
use_low_precision_moe_combine: true
moe_expert_parallel_size: 8
num_postprocess_workers: 4
pipeline_parallel_size: 1
print_iter_log: true
speculative_config:
decoding_type: MTP
max_draft_len: 3
stream_interval: 100
tensor_parallel_size: 8
benchmark:
type: sa-bench
isl: 8192
osl: 1024
concurrencies: "16"
req_rate: inf
random_range_ratio: 0.8
use_chat_template: true
custom_tokenizer: "sa_bench_tokenizers.sglang_deepseek_v4.SGLangDeepseekV4Tokenizer"
frontend:
type: dynamo
enable_multiple_frontends: false
slurm:
time_limit: '3:00:00'
health_check:
max_attempts: 540
interval_seconds: 10
environment:
TRTLLM_SERVER_DISABLE_GC: '1'
Loading
Loading