Skip to content

Tune rollout config: TP-aware FCA/SD thresholds - #268

Open
sfc-gh-mhidayetoglu wants to merge 1 commit into
mainfrom
mert/fca-sd-tuning
Open

Tune rollout config: TP-aware FCA/SD thresholds#268
sfc-gh-mhidayetoglu wants to merge 1 commit into
mainfrom
mert/fca-sd-tuning

Conversation

@sfc-gh-mhidayetoglu

@sfc-gh-mhidayetoglu sfc-gh-mhidayetoglu commented Jun 29, 2026

Copy link
Copy Markdown
Contributor
  1. Sets forest_cascade_attn_configs.min_batch_size per tensor-parallel size (tp8=160, tp4=48, tp2=24) instead of an empty config
  2. Removes FCA configs when use_fca is disabled
  3. dds per-TP speculative hard_disable_by_batch_size thresholds (tp8=160, tp4=96, tp2=96) when FCA+SD are both on.

Results on an H200 node (txt2sql recipe)
Screenshot 2026-06-14 at 5 58 51 PM

if use_fca:
kwargs.setdefault("compilation_config", {"cudagraph_mode": "PIECEWISE"})
kwargs.setdefault("forest_cascade_attn_configs", "{}")
if tp_size == 8:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Is there a rationale for mapping of tp_size to min_batch_size? It seems to be 20x for tp_size=8 and otherwise 12x.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Also would we want different values depending on the model we are serving? Would this be best defined in the known model configs?

MODEL_CONFIGS: dict[GPUType, dict[str, dict[str, Any]]] = {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Yes, this seems like a perfect location for default tuning values.

else:
kwargs.pop("forest_cascade_attn_configs", None)
if use_fca:
if tp_size == 8:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Similar to above, is there a rule mapping between tp_size and hard_disable_by_batch_size?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants