Repository navigation
[https://nvbugs/6913451][fix] Avoid heavy imports in MPI shutdown - #20434
chienchunhung wants to merge 1 commit into
Conversation
2634a5f to
53bc92a
Compare
|
/bot run |
|
PR_Github #78241 [ run ] triggered by Bot. Commit: |
53bc92a to
aa8e105
Compare
aa8e105 to
1906eaf
Compare
|
PR_Github #78241 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
|
PR_Github #78337 [ run ] triggered by Bot. Commit: |
|
PR_Github #78337 [ run ] completed with state
|
Signed-off-by: Chien-Chun Hung <2679986+chienchunhung@users.noreply.github.com>
1906eaf to
6c62b79
Compare
|
/bot run --disable-fail-fast |
tburt-nv
left a comment
There was a problem hiding this comment.
Maybe we should replace trtllm-llmapi-launch with a python script?
Agreed; a standalone Python launcher could simplify this considerably. I’d keep this PR focused on removing the heavy imports from shutdown and handle the launcher conversion separately, preserving its MPI environment isolation, workspace locking, and exit-status behavior. The Python launcher should also avoid importing TensorRT-LLM itself. |
|
PR_Github #78527 [ run ] triggered by Bot. Commit: |
|
PR_Github #78527 [ run ] completed with state
|
|
/bot run --disable-fail-fast |
|
PR_Github #78581 [ run ] triggered by Bot. Commit: |
|
PR_Github #78581 [ run ] completed with state
|
Summary
The MPI launcher imports TensorRT-LLM again just to send its shutdown message, adding teardown latency to the remote-session tests reported in NVBUG 6913451. Use a standalone authenticated stop sender to avoid that extra import.
Scope
Verification
6c62b795: packaging fixture repaired; local packaging/helper/launcher tests 28 passed, 1 Linux-only skip; hooks and DCO passed. Full CI rerun requested; GitHub authorization is queued and Jenkins launch is pending.1906eaf1failed. ARM: 39/42 passed initially;flashinfer_workspace,flashinfer_temporary_cleanup, andclient_sys_pathhit the unchanged 60-second watchdog, then passed on the MPI-suite retry. No affected tests were waived or skipped.Notes
Adapts the lightweight sender from #20293. #20232 separately ports lifecycle safeguards and removes main's eight-second polling delay; this PR leaves that polling behavior unchanged. Verification and maintainer review remain pending.
Dev Engineer Review
QA Engineer Review
test_mpi_stop.pyandtest_mpi_stop_launcher.py; modifiedtest_mpi_session.pyandtest_serve_schema_packaging.py.l0_cpu.yml.test_mpi_session.pyis listed in bothl0_cpu.ymlandl0_a100.ymlwithISOLATION.Per-File QA Perspective
docs/source/llm-api/index.md: Documents remote MPI shutdown and timeout limits. Verify the troubleshooting guidance matches helper behavior.setup.py: Installs the stop helper alongside the launcher. Verify both scripts are available together in installed layouts.tensorrt_llm/llmapi/_llmapi_mpi_stop.py: Adds authenticated stop delivery without importing TensorRT-LLM or MPI. Verify key validation and clearing, message compatibility, and bounded ZeroMQ failure behavior.tensorrt_llm/llmapi/trtllm-llmapi-launch: Routes shutdown through the adjacent helper instead of the package module. Verify source and installed layouts preserve routing and status precedence.tests/integration/test_lists/test-db/l0_cpu.yml: Addstest_mpi_stop.pyandtest_mpi_stop_launcher.py; it also liststest_mpi_session.pywithISOLATION.tests/unittest/llmapi/test_mpi_session.py: Adds subprocess coverage for stop delivery to a PAIR server queue. The module is listed withISOLATIONinl0_cpu.ymlandl0_a100.yml.tests/unittest/llmapi/test_mpi_stop.py: Covers authenticated delivery, import isolation, send timeout, configuration errors, and key clearing. The module is listed inl0_cpu.yml.tests/unittest/llmapi/test_mpi_stop_launcher.py: Covers launcher routing in source and installed layouts, environment handling, and status precedence. The module is listed inl0_cpu.yml.tests/unittest/scripts/test_serve_schema_packaging.py: Verifies that the wheel includes the launcher and stop helper scripts. Its test-list placement is not established by the supplied inspection results.