-
Notifications
You must be signed in to change notification settings - Fork 1.9k
[None][feat] Avoid considering query token on all CP ranks for Helix #9341
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
Closed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Signed-off-by: Balaram Buddharaju <[email protected]>
Signed-off-by: Balaram Buddharaju <[email protected]> add ds-lite tllm-gen based disagg test Signed-off-by: Matthias Jouanneaux <[email protected]> initial support for helix parallelism Signed-off-by: Matthias Jouanneaux <[email protected]> fixed mapping tests, added working MLA module test, added disagg test for helix (WIP) Signed-off-by: Matthias Jouanneaux <[email protected]> Helix MLA module test: added more scenarios, removed unnecessary code Signed-off-by: Matthias Jouanneaux <[email protected]> MLA Helix test: restricting number of tests, better output Signed-off-by: Matthias Jouanneaux <[email protected]> test MLA helix: remove OOM test scenario Signed-off-by: Matthias Jouanneaux <[email protected]> test MLA helix: fix scenario max position embeddings Signed-off-by: Matthias Jouanneaux <[email protected]> test Helix MLA: try to fix NaNs Signed-off-by: Matthias Jouanneaux <[email protected]> added all-to-all impl Signed-off-by: Matthias Jouanneaux <[email protected]> fix thop lib Signed-off-by: Matthias Jouanneaux <[email protected]> fix alltoall Signed-off-by: Matthias Jouanneaux <[email protected]> attention MLA: remove kv heads (unused), improve heads naming, fix tests Signed-off-by: Matthias Jouanneaux <[email protected]> test Helix MLA: minor fixes Signed-off-by: Matthias Jouanneaux <[email protected]> test Helix MLA: disable numeric test Signed-off-by: Matthias Jouanneaux <[email protected]> test Helix MLA: add TODOs to MLA module Signed-off-by: Matthias Jouanneaux <[email protected]> test Helix MLA: fix MLA module Signed-off-by: Matthias Jouanneaux <[email protected]> debugging Signed-off-by: Matthias Jouanneaux <[email protected]> debugging Signed-off-by: Matthias Jouanneaux <[email protected]> debugging Signed-off-by: Matthias Jouanneaux <[email protected]> debugging Signed-off-by: Matthias Jouanneaux <[email protected]> debugging Signed-off-by: Matthias Jouanneaux <[email protected]> debugging Signed-off-by: Matthias Jouanneaux <[email protected]> debugging Signed-off-by: Matthias Jouanneaux <[email protected]> debugging Signed-off-by: Matthias Jouanneaux <[email protected]> debugging Signed-off-by: Matthias Jouanneaux <[email protected]> debugging Signed-off-by: Matthias Jouanneaux <[email protected]> debugging Signed-off-by: Matthias Jouanneaux <[email protected]> debugging Signed-off-by: Matthias Jouanneaux <[email protected]> debugging Signed-off-by: Matthias Jouanneaux <[email protected]> debugging Signed-off-by: Matthias Jouanneaux <[email protected]> debugging Signed-off-by: Matthias Jouanneaux <[email protected]> debugging Signed-off-by: Matthias Jouanneaux <[email protected]> debugging Signed-off-by: Matthias Jouanneaux <[email protected]> debugging Signed-off-by: Matthias Jouanneaux <[email protected]> fully working MLA test Signed-off-by: Matthias Jouanneaux <[email protected]> attempt to make latent cache work Signed-off-by: Matthias Jouanneaux <[email protected]> debugging numerical issue Signed-off-by: Matthias Jouanneaux <[email protected]> debugging numerical issue Signed-off-by: Matthias Jouanneaux <[email protected]> debugging numerical issue Signed-off-by: Matthias Jouanneaux <[email protected]> debugging numerical issue Signed-off-by: Matthias Jouanneaux <[email protected]> debugging numerical issue Signed-off-by: Matthias Jouanneaux <[email protected]> adding additional test for further numerical debugging Signed-off-by: Matthias Jouanneaux <[email protected]> fixing tests & correction Signed-off-by: Matthias Jouanneaux <[email protected]> remove debug output from tests Signed-off-by: Matthias Jouanneaux <[email protected]> fix tests Signed-off-by: Matthias Jouanneaux <[email protected]> further debugging with multiple sequences Signed-off-by: Matthias Jouanneaux <[email protected]> further debugging with multiple sequences Signed-off-by: Matthias Jouanneaux <[email protected]> further debugging with multiple sequences Signed-off-by: Matthias Jouanneaux <[email protected]> fixed multiple sequences tests Signed-off-by: Matthias Jouanneaux <[email protected]> automated review comments Signed-off-by: Matthias Jouanneaux <[email protected]> debugging of latent cache Signed-off-by: Matthias Jouanneaux <[email protected]> debugging of latent cache Signed-off-by: Matthias Jouanneaux <[email protected]> further debugging of pe values Signed-off-by: Matthias Jouanneaux <[email protected]> further debugging of latent cache Signed-off-by: Matthias Jouanneaux <[email protected]> fixed latent cache, remove flaky test Signed-off-by: Matthias Jouanneaux <[email protected]> better reporting Signed-off-by: Matthias Jouanneaux <[email protected]> better reporting Signed-off-by: Matthias Jouanneaux <[email protected]> finalized test scenarios Signed-off-by: Matthias Jouanneaux <[email protected]> better perf measurements, added graph support Signed-off-by: Matthias Jouanneaux <[email protected]> added helix post process kernel Signed-off-by: Matthias Jouanneaux <[email protected]> added unit test, minor fix for helix kernel Signed-off-by: Matthias Jouanneaux <[email protected]> fixing helix kernels Signed-off-by: Matthias Jouanneaux <[email protected]> better tests, minor fixes Signed-off-by: Matthias Jouanneaux <[email protected]> better tests, minor fixes Signed-off-by: Matthias Jouanneaux <[email protected]> debugging helix test Signed-off-by: Matthias Jouanneaux <[email protected]> debugging helix test Signed-off-by: Matthias Jouanneaux <[email protected]> debugging helix test Signed-off-by: Matthias Jouanneaux <[email protected]> fixed helix post process kernel: main kernel had perf issue/flaw Signed-off-by: Matthias Jouanneaux <[email protected]> fixed helix post process test Signed-off-by: Matthias Jouanneaux <[email protected]> added helix full layer test Signed-off-by: Matthias Jouanneaux <[email protected]> fix full layer helix test/bench Signed-off-by: Matthias Jouanneaux <[email protected]> added correct mapping to ds helix Signed-off-by: Matthias Jouanneaux <[email protected]> further improvements for fp8 init Signed-off-by: Matthias Jouanneaux <[email protected]> debugging quantization config Signed-off-by: Matthias Jouanneaux <[email protected]> better debug output Signed-off-by: Matthias Jouanneaux <[email protected]> fixes for fp8 Signed-off-by: Matthias Jouanneaux <[email protected]> fix fp8 runs Signed-off-by: Matthias Jouanneaux <[email protected]> attempt to fix fp8 context Signed-off-by: Matthias Jouanneaux <[email protected]> fix context phase: just randomly gen kv cache values. fix scenario sizes Signed-off-by: Matthias Jouanneaux <[email protected]> fix tp size config in helix layer test Signed-off-by: Matthias Jouanneaux <[email protected]> minor changes for test get trtllm-serve working with BF16 for gen with cp - v_b_proj weight loading needs to be revisited $ CUDA_VISIBLE_DEVICES=0,1 trtllm-serve /home/scratch.trt_llm_data/llm-models/DeepSeek-V3-Lite/bf16/ --host localhost --port 8002 --cp_size 2 --extra_llm_api_options ./gen_extra-llm-api-config.yaml end-to-end test in disagg works $ pytest tests/integration/defs/disaggregated/test_disaggregated.py::test_disaggregated_deepseek_v3_lite_bf16_tllm_gen_helix -s -v Switch to contiguous block dist among CP rank save changes to _merge_requests() undo changes to prepare_inputs() Raise exception for blocks fewer than num_cp_ranks save intermediate changes attempt to fix attention tests Signed-off-by: Matthias Jouanneaux <[email protected]> save changes for minimal test save minor dev comments added helix inactive rank option to MLA kernels Signed-off-by: Matthias Jouanneaux <[email protected]> pass the right seq_lens_kv - test with seqlen 64 works $ pytest tests/unittest/_torch/modules/test_mla_helix_expt.py -s -v is_inactive_helix at request level cp_allgather for position_id helix: make inactive rank a bool tensor Signed-off-by: Matthias Jouanneaux <[email protected]> undo mapping changes to modeling_deepseek Failed attempt to replace model_config.mapping fill in helix_is_inactive for each request update position_id logic better way to package mapping - repurpose comms creation too save disagg gen-only benchmark test prep for integration test improvements to position_id, num_cached_tokens_per_seq and tokens_per_block changes to save blocks at prefill changes to save blocks at decode add changes to read KV from disk updates to save and read KV blocks for all layers over-allocate at prefill to get cache transmission right prune saved KV cache files updates to avoid over-allocation on gen side in disagg Revert "over-allocate at prefill to get cache transmission right" This reverts commit af7d000. save disagg configs for DSV3 - currently goes OOM verifying tests on 8 GPUs helix: added (working) DS R1 8-GPU integration test Signed-off-by: Matthias Jouanneaux <[email protected]> helix: added large prompt + ds lite config using large prompt Signed-off-by: Matthias Jouanneaux <[email protected]> save intermediate changes for fixes fix debug printing Signed-off-by: Matthias Jouanneaux <[email protected]> Mention cache_transceiver_config.max_tokens_in_buffer for disagg servers save initial changes to benchmarking script added mjoux specific submit script, tighter timeouts, better defaults Signed-off-by: Matthias Jouanneaux <[email protected]> helix slurm: increase timeouts slightly, use deepgemm moe backend for smaller models Signed-off-by: Matthias Jouanneaux <[email protected]> helix slurm: add dataset caching path Signed-off-by: Matthias Jouanneaux <[email protected]> fix padding when input_len is divisible by tokens_per_block save changes to test varying prompt len fix_kvcache_split Signed-off-by: Chuang Zhu <[email protected]> avoid fabric memory and print send and recv sizes auto-determine transceiver size Signed-off-by: Matthias Jouanneaux <[email protected]> remove verbose print output Signed-off-by: Matthias Jouanneaux <[email protected]> attempt to fix DS R1 run Signed-off-by: Matthias Jouanneaux <[email protected]> helix slurm: fix parameters for DS R1 up to 256K tokens Signed-off-by: Matthias Jouanneaux <[email protected]> minor updates to reduce memory footprint and bring back warmup enable cudagraph and add some debug prints ugly hack to get results with 512k updates to benchmark 1M seqlen updates to benchmark 2M seqlen updates for passing down moe properly minor changes to get nsys profiles test helix layer: support for slurm call, support for fp4 Signed-off-by: Matthias Jouanneaux <[email protected]> test helix layer: added sbatch script Signed-off-by: Matthias Jouanneaux <[email protected]> add minimal cache transmission test for 1M seqlen minor bug fix changes to benchmark 4M seqlen skip launch/wait of context servers when TRTLLM_DISAGG_BENCHMARK_GEN_ONLY=1 remove hacks; skip profiling; gpu_mem_frac test helix layer: fix nvfp4 config to fit high perf mode Signed-off-by: Matthias Jouanneaux <[email protected]> helix single layer: improved timing, added arg parsing, added output parsing Signed-off-by: Matthias Jouanneaux <[email protected]> helix single layer: add dense option Signed-off-by: Matthias Jouanneaux <[email protected]> helix slurm: fix gen_only config, support EP config, add submit script for multiple configs, remove build_wheel by default for array benchmarking Signed-off-by: Matthias Jouanneaux <[email protected]> helix slurm: added parse script for results Signed-off-by: Matthias Jouanneaux <[email protected]> helix single layer: fixed test, added config submit script, improved parsing Signed-off-by: Matthias Jouanneaux <[email protected]> helix single layer: fix segment for sbatch script Signed-off-by: Matthias Jouanneaux <[email protected]> helix: fixed TP-only runs (removed hack to make higher seq len work), improved sbatch scripts Signed-off-by: Matthias Jouanneaux <[email protected]> helix: fix high node count runs, move back to e2e mode, improve parse script Signed-off-by: Matthias Jouanneaux <[email protected]> longer prompt for DSV3 Lite & DSR1 FP4 integration test disaggregated/test_disaggregated.py::test_disaggregated_deepseek_v3_lite_bf16_tllm_gen_helix disaggregated/test_disaggregated.py::test_disaggregated_deepseek_v3_lite_fp8_tllm_gen_helix disaggregated/test_disaggregated.py::test_disaggregated_deepseek_r1_fp4_tllm_gen_helix helix: added initial README for testing/benchmarking Signed-off-by: Matthias Jouanneaux <[email protected]> helix slurm: remove references to internal clusters Signed-off-by: Matthias Jouanneaux <[email protected]> minor updates to README minor updates helix: improve transpose/split for alltoall Signed-off-by: Matthias Jouanneaux <[email protected]> Revert "helix: improve transpose/split for alltoall" This reverts commit c8b24b9. helix: improve alltoall perf Signed-off-by: Matthias Jouanneaux <[email protected]> [https://nvbugs/5495789][feat] Optionally disable server GC and worker GC (NVIDIA#7995) Signed-off-by: Tailing Yuan <[email protected]> save changes for custom logging
41720fb to
fb50fd2
Compare
fb50fd2 to
f55c03f
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@coderabbitai summary
Description
Test Coverage
PR Checklist
Please review the following before submitting your PR:
PR description clearly explains what and why. If using CodeRabbit's summary, please make sure it makes sense.
PR Follows TRT-LLM CODING GUIDELINES to the best of your knowledge.
Test cases are provided for new code paths (see test instructions)
Any new dependencies have been scanned for license and vulnerabilities
CODEOWNERS updated if ownership changes
Documentation updated as needed
Update tava architecture diagram if there is a significant design change in PR.
The reviewers assigned automatically/manually are appropriate for the PR.
Please check this after reviewing the above items as appropriate for this PR.
GitHub Bot Help
/bot [-h] ['run', 'kill', 'skip', 'reuse-pipeline'] ...Provide a user friendly way for developers to interact with a Jenkins server.
Run
/bot [-h|--help]to print this help message.See details below for each supported subcommand.
run [--reuse-test (optional)pipeline-id --disable-fail-fast --skip-test --stage-list "A10-PyTorch-1, xxx" --gpu-type "A30, H100_PCIe" --test-backend "pytorch, cpp" --add-multi-gpu-test --only-multi-gpu-test --disable-multi-gpu-test --post-merge --extra-stage "H100_PCIe-TensorRT-Post-Merge-1, xxx" --detailed-log --debug(experimental)]Launch build/test pipelines. All previously running jobs will be killed.
--reuse-test (optional)pipeline-id(OPTIONAL) : Allow the new pipeline to reuse build artifacts and skip successful test stages from a specified pipeline or the last pipeline if no pipeline-id is indicated. If the Git commit ID has changed, this option will be always ignored. The DEFAULT behavior of the bot is to reuse build artifacts and successful test results from the last pipeline.--disable-reuse-test(OPTIONAL) : Explicitly prevent the pipeline from reusing build artifacts and skipping successful test stages from a previous pipeline. Ensure that all builds and tests are run regardless of previous successes.--disable-fail-fast(OPTIONAL) : Disable fail fast on build/tests/infra failures.--skip-test(OPTIONAL) : Skip all test stages, but still run build stages, package stages and sanity check stages. Note: Does NOT update GitHub check status.--stage-list "A10-PyTorch-1, xxx"(OPTIONAL) : Only run the specified test stages. Examples: "A10-PyTorch-1, xxx". Note: Does NOT update GitHub check status.--gpu-type "A30, H100_PCIe"(OPTIONAL) : Only run the test stages on the specified GPU types. Examples: "A30, H100_PCIe". Note: Does NOT update GitHub check status.--test-backend "pytorch, cpp"(OPTIONAL) : Skip test stages which don't match the specified backends. Only support [pytorch, cpp, tensorrt, triton]. Examples: "pytorch, cpp" (does not run test stages with tensorrt or triton backend). Note: Does NOT update GitHub pipeline status.--only-multi-gpu-test(OPTIONAL) : Only run the multi-GPU tests. Note: Does NOT update GitHub check status.--disable-multi-gpu-test(OPTIONAL) : Disable the multi-GPU tests. Note: Does NOT update GitHub check status.--add-multi-gpu-test(OPTIONAL) : Force run the multi-GPU tests in addition to running L0 pre-merge pipeline.--post-merge(OPTIONAL) : Run the L0 post-merge pipeline instead of the ordinary L0 pre-merge pipeline.--extra-stage "H100_PCIe-TensorRT-Post-Merge-1, xxx"(OPTIONAL) : Run the ordinary L0 pre-merge pipeline and specified test stages. Examples: --extra-stage "H100_PCIe-TensorRT-Post-Merge-1, xxx".--detailed-log(OPTIONAL) : Enable flushing out all logs to the Jenkins console. This will significantly increase the log volume and may slow down the job.--debug(OPTIONAL) : Experimental feature. Enable access to the CI container for debugging purpose. Note: Specify exactly one stage in thestage-listparameter to access the appropriate container environment. Note: Does NOT update GitHub check status.For guidance on mapping tests to stage names, see
docs/source/reference/ci-overview.mdand the
scripts/test_to_stage_mapping.pyhelper.kill
killKill all running builds associated with pull request.
skip
skip --comment COMMENTSkip testing for latest commit on pull request.
--comment "Reason for skipping build/test"is required. IMPORTANT NOTE: This is dangerous since lack of user care and validation can cause top of tree to break.reuse-pipeline
reuse-pipelineReuse a previous pipeline to validate current commit. This action will also kill all currently running builds associated with the pull request. IMPORTANT NOTE: This is dangerous since lack of user care and validation can cause top of tree to break.