-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Revert "feat: nanobind bindings (#5961)" #6160
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
Conversation
WalkthroughThis update removes all nanobind-based Python bindings and related build/test infrastructure from the codebase, including all C++ source/header files implementing nanobind bindings for TensorRT-LLM runtime, executor, batch manager, and user buffer components. The CMake and Jenkins build scripts, test scripts, and integration test lists are updated to eliminate nanobind support. Several Python and C++ APIs are refactored to use direct enum constructors instead of string parsing methods. Some internal pointer types are updated for stricter ownership, and minor improvements are made to pybind11 bindings and deserialization logic. Changes
Sequence Diagram(s)Omitted: The changes are broad removals and refactors without new or altered high-level control flow requiring a sequence diagram. Possibly related PRs
Poem
✨ Finishing Touches
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
d4701e9
to
0521c2b
Compare
/bot run |
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.
Actionable comments posted: 2
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (49)
cpp/CMakeLists.txt
(2 hunks)cpp/include/tensorrt_llm/batch_manager/runtimeBuffers.h
(1 hunks)cpp/tensorrt_llm/batch_manager/runtimeBuffers.cpp
(1 hunks)cpp/tensorrt_llm/nanobind/CMakeLists.txt
(2 hunks)cpp/tensorrt_llm/nanobind/batch_manager/algorithms.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/batch_manager/algorithms.h
(0 hunks)cpp/tensorrt_llm/nanobind/batch_manager/bindings.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/batch_manager/bindings.h
(0 hunks)cpp/tensorrt_llm/nanobind/batch_manager/buffers.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/batch_manager/buffers.h
(0 hunks)cpp/tensorrt_llm/nanobind/batch_manager/cacheTransceiver.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/batch_manager/cacheTransceiver.h
(0 hunks)cpp/tensorrt_llm/nanobind/batch_manager/kvCacheManager.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/batch_manager/kvCacheManager.h
(0 hunks)cpp/tensorrt_llm/nanobind/batch_manager/llmRequest.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/batch_manager/llmRequest.h
(0 hunks)cpp/tensorrt_llm/nanobind/bindings.cpp
(1 hunks)cpp/tensorrt_llm/nanobind/common/bindTypes.h
(0 hunks)cpp/tensorrt_llm/nanobind/common/customCasters.h
(0 hunks)cpp/tensorrt_llm/nanobind/executor/bindings.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/executor/bindings.h
(0 hunks)cpp/tensorrt_llm/nanobind/executor/executor.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/executor/executor.h
(0 hunks)cpp/tensorrt_llm/nanobind/executor/executorConfig.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/executor/executorConfig.h
(0 hunks)cpp/tensorrt_llm/nanobind/executor/request.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/executor/request.h
(0 hunks)cpp/tensorrt_llm/nanobind/runtime/bindings.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/runtime/bindings.h
(0 hunks)cpp/tensorrt_llm/nanobind/runtime/moeBindings.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/runtime/moeBindings.h
(0 hunks)cpp/tensorrt_llm/nanobind/testing/modelSpecBinding.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/testing/modelSpecBinding.h
(0 hunks)cpp/tensorrt_llm/nanobind/userbuffers/bindings.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/userbuffers/bindings.h
(0 hunks)cpp/tensorrt_llm/pybind/bindings.cpp
(1 hunks)cpp/tensorrt_llm/pybind/executor/bindings.cpp
(1 hunks)cpp/tensorrt_llm/pybind/executor/executorConfig.cpp
(1 hunks)examples/models/core/llama/summarize_long.py
(1 hunks)examples/models/core/qwen2audio/run.py
(1 hunks)examples/models/core/qwenvl/run.py
(1 hunks)jenkins/Build.groovy
(0 hunks)jenkins/L0_Test.groovy
(0 hunks)tensorrt_llm/builder.py
(1 hunks)tensorrt_llm/commands/build.py
(1 hunks)tensorrt_llm/runtime/model_runner.py
(1 hunks)tests/integration/test_lists/test-db/l0_a10.yml
(0 hunks)tests/unittest/bindings/test_bindings_ut.py
(0 hunks)tests/unittest/bindings/test_executor_bindings.py
(1 hunks)
💤 Files with no reviewable changes (34)
- tests/integration/test_lists/test-db/l0_a10.yml
- tests/unittest/bindings/test_bindings_ut.py
- cpp/tensorrt_llm/nanobind/batch_manager/buffers.h
- cpp/tensorrt_llm/nanobind/executor/executorConfig.h
- cpp/tensorrt_llm/nanobind/batch_manager/bindings.h
- cpp/tensorrt_llm/nanobind/batch_manager/algorithms.h
- cpp/tensorrt_llm/nanobind/executor/request.h
- cpp/tensorrt_llm/nanobind/batch_manager/cacheTransceiver.h
- cpp/tensorrt_llm/nanobind/executor/bindings.h
- cpp/tensorrt_llm/nanobind/runtime/moeBindings.h
- cpp/tensorrt_llm/nanobind/batch_manager/kvCacheManager.h
- cpp/tensorrt_llm/nanobind/userbuffers/bindings.h
- cpp/tensorrt_llm/nanobind/runtime/bindings.h
- jenkins/L0_Test.groovy
- cpp/tensorrt_llm/nanobind/testing/modelSpecBinding.h
- jenkins/Build.groovy
- cpp/tensorrt_llm/nanobind/userbuffers/bindings.cpp
- cpp/tensorrt_llm/nanobind/batch_manager/buffers.cpp
- cpp/tensorrt_llm/nanobind/batch_manager/llmRequest.h
- cpp/tensorrt_llm/nanobind/batch_manager/llmRequest.cpp
- cpp/tensorrt_llm/nanobind/common/bindTypes.h
- cpp/tensorrt_llm/nanobind/batch_manager/cacheTransceiver.cpp
- cpp/tensorrt_llm/nanobind/runtime/moeBindings.cpp
- cpp/tensorrt_llm/nanobind/executor/request.cpp
- cpp/tensorrt_llm/nanobind/batch_manager/kvCacheManager.cpp
- cpp/tensorrt_llm/nanobind/batch_manager/algorithms.cpp
- cpp/tensorrt_llm/nanobind/executor/executor.cpp
- cpp/tensorrt_llm/nanobind/executor/bindings.cpp
- cpp/tensorrt_llm/nanobind/testing/modelSpecBinding.cpp
- cpp/tensorrt_llm/nanobind/runtime/bindings.cpp
- cpp/tensorrt_llm/nanobind/common/customCasters.h
- cpp/tensorrt_llm/nanobind/executor/executor.h
- cpp/tensorrt_llm/nanobind/executor/executorConfig.cpp
- cpp/tensorrt_llm/nanobind/batch_manager/bindings.cpp
🧰 Additional context used
🧠 Learnings (1)
cpp/tensorrt_llm/pybind/executor/executorConfig.cpp (1)
Learnt from: amitz-nv
PR: NVIDIA/TensorRT-LLM#5616
File: tensorrt_llm/executor/worker.py:375-384
Timestamp: 2025-07-17T09:01:27.374Z
Learning: In tensorrt_llm/executor/worker.py, the LoRA adapter cache optimization logic that checks `is_adapter_in_cpu_cache()` and conditionally passes None for weights/config has a known race condition issue that cannot be solved with simple error handling or verification checks. This is a known limitation that requires a more comprehensive solution.
🧬 Code Graph Analysis (2)
examples/models/core/qwenvl/run.py (1)
tensorrt_llm/runtime/generation.py (1)
kv_cache_type
(1169-1170)
tests/unittest/bindings/test_executor_bindings.py (1)
tensorrt_llm/_torch/pyexecutor/resource_manager.py (1)
get_latest_events
(566-567)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Pre-commit Check
🔇 Additional comments (15)
examples/models/core/llama/summarize_long.py (1)
100-100
: LGTM: Direct constructor usage for KVCacheType is consistent across the codebase
- Verified with
rg "KVCacheType\.from_string"
– no occurrences remain.- All instances now use
KVCacheType(build_config['kv_cache_type'])
as intended.Approved.
examples/models/core/qwenvl/run.py (1)
121-121
: LGTM: Consistent API simplificationThe change from
KVCacheType.from_string()
to direct constructor usage is consistent with the broader codebase changes. The fallback logic toKVCacheType.CONTINUOUS
remains intact, preserving backward compatibility.cpp/CMakeLists.txt (1)
201-201
: LGTM: Build system simplificationThe removal of
BUILD_DEEP_EP
conditions simplifies the build logic to exclusively support pybind11 bindings. This change is consistent with the broader effort to remove nanobind support from the codebase.Also applies to: 220-220
tensorrt_llm/runtime/model_runner.py (1)
89-89
: LGTM: Consistent API updateThe change from
KVCacheType.from_string()
to direct constructor usage is consistent with the codebase-wide API simplification. This maintains the same functionality while using the simplified enum constructor pattern.cpp/tensorrt_llm/pybind/bindings.cpp (1)
173-173
: LGTM: Improved API consistency by converting method to constructor.The change from
.def("from_string", ...)
to.def(py::init(...))
provides a more Pythonic API whereKVCacheType
can be instantiated directly via its constructor (e.g.,KVCacheType("paged")
) rather than through a class method. This aligns with the broader refactoring mentioned in the AI summary where similar changes were made across multiple Python files.cpp/include/tensorrt_llm/batch_manager/runtimeBuffers.h (1)
171-171
: LGTM: Improved ownership semantics with unique_ptr.The change from
std::shared_ptr<TransformerBuffers>
tostd::unique_ptr<TransformerBuffers>
provides clearer ownership semantics and better performance by eliminating reference counting overhead. This indicates thatRuntimeBuffers
has exclusive ownership of theTransformerBuffers
instance, which is more appropriate for this use case.tensorrt_llm/commands/build.py (1)
134-134
: LGTM: Simplified enum usage by removing wrapper function.The change from
type=enum_type(KVCacheType),
totype=KVCacheType,
removes theenum_type
wrapper function and uses the enum directly. This is a good simplification that aligns with the broader refactoring mentioned in the AI summary, where enum usage was standardized across the codebase. Argparse can handle enum types directly, so this change should work correctly.tensorrt_llm/builder.py (1)
596-596
: LGTM: Clean refactoring to use direct constructor.The change from
KVCacheType.from_string()
toKVCacheType()
constructor is a clean simplification that aligns with the broader refactoring across the codebase. The logic and error handling remain unchanged.examples/models/core/qwen2audio/run.py (1)
125-125
: LGTM: Consistent refactoring with builder.py.The change from
KVCacheType.from_string()
toKVCacheType()
constructor is consistent with the same refactoring intensorrt_llm/builder.py
. The fallback logic toKVCacheType.CONTINUOUS
remains unchanged, maintaining existing behavior.cpp/tensorrt_llm/batch_manager/runtimeBuffers.cpp (1)
87-88
: Ownership Change Verified – No Remaining shared_ptr UsageThe transition from
std::shared_ptr<TransformerBuffers>
tostd::unique_ptr<TransformerBuffers>
is safe:
- In
cpp/tensorrt_llm/batch_manager/runtimeBuffers.cpp
, all instantiations usestd::make_unique<TransformerBuffers>
.- In
cpp/include/tensorrt_llm/batch_manager/runtimeBuffers.h
,transformerBuffers
is declared asstd::unique_ptr<TransformerBuffers>
, with nostd::shared_ptr
references remaining.No code elsewhere relies on shared ownership semantics. Approving the unique_ptr change.
cpp/tensorrt_llm/nanobind/CMakeLists.txt (2)
6-6
: LGTM! Simplified source list aligns with nanobind removal.The reduction to just two source files is consistent with removing nanobind bindings while keeping minimal module definition.
19-21
: NVSHMEM & NVML removal in nanobind is safe
A repo-wide scan shows no NVSHMEM or NVML symbols or link directives in cpp/tensorrt_llm/nanobind. Other modules still link these libraries where they’re actually used, so dropping them here has no side effects.cpp/tensorrt_llm/nanobind/bindings.cpp (2)
2-2
: Copyright year update is appropriate for the revert.The change from 2025 to 2024 aligns with reverting to a previous state.
24-28
: Minimal module definition retained correctly.The simplified bindings file now only defines the module with a binding type attribute, which is appropriate for the nanobind feature removal.
tests/unittest/bindings/test_executor_bindings.py (1)
2224-2224
: LGTM! Correct API usage with datetime.timedelta.The change correctly uses
datetime.timedelta(seconds=1)
instead of an integer argument, which aligns with the expected method signature forget_latest_events()
. This is a proper fix that ensures type safety and API consistency.
0521c2b
to
ee27a95
Compare
/bot run |
This reverts commit 5bff317. Signed-off-by: Iman Tabrizian <[email protected]>
ee27a95
to
d643668
Compare
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.
Actionable comments posted: 0
🧹 Nitpick comments (1)
cpp/tensorrt_llm/nanobind/bindings.cpp (1)
18-28
: Stub file approach looks appropriate for the revert.The minimal module definition effectively removes all nanobind functionality while preserving the module structure. This approach is suitable for a revert operation as it maintains build system compatibility while clearly indicating the binding type.
Consider adding a comment in the file or updating documentation to clarify that this is a placeholder following the nanobind feature removal.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (49)
cpp/CMakeLists.txt
(2 hunks)cpp/include/tensorrt_llm/batch_manager/runtimeBuffers.h
(1 hunks)cpp/tensorrt_llm/batch_manager/runtimeBuffers.cpp
(1 hunks)cpp/tensorrt_llm/nanobind/CMakeLists.txt
(2 hunks)cpp/tensorrt_llm/nanobind/batch_manager/algorithms.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/batch_manager/algorithms.h
(0 hunks)cpp/tensorrt_llm/nanobind/batch_manager/bindings.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/batch_manager/bindings.h
(0 hunks)cpp/tensorrt_llm/nanobind/batch_manager/buffers.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/batch_manager/buffers.h
(0 hunks)cpp/tensorrt_llm/nanobind/batch_manager/cacheTransceiver.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/batch_manager/cacheTransceiver.h
(0 hunks)cpp/tensorrt_llm/nanobind/batch_manager/kvCacheManager.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/batch_manager/kvCacheManager.h
(0 hunks)cpp/tensorrt_llm/nanobind/batch_manager/llmRequest.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/batch_manager/llmRequest.h
(0 hunks)cpp/tensorrt_llm/nanobind/bindings.cpp
(1 hunks)cpp/tensorrt_llm/nanobind/common/bindTypes.h
(0 hunks)cpp/tensorrt_llm/nanobind/common/customCasters.h
(0 hunks)cpp/tensorrt_llm/nanobind/executor/bindings.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/executor/bindings.h
(0 hunks)cpp/tensorrt_llm/nanobind/executor/executor.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/executor/executor.h
(0 hunks)cpp/tensorrt_llm/nanobind/executor/executorConfig.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/executor/executorConfig.h
(0 hunks)cpp/tensorrt_llm/nanobind/executor/request.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/executor/request.h
(0 hunks)cpp/tensorrt_llm/nanobind/runtime/bindings.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/runtime/bindings.h
(0 hunks)cpp/tensorrt_llm/nanobind/runtime/moeBindings.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/runtime/moeBindings.h
(0 hunks)cpp/tensorrt_llm/nanobind/testing/modelSpecBinding.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/testing/modelSpecBinding.h
(0 hunks)cpp/tensorrt_llm/nanobind/userbuffers/bindings.cpp
(0 hunks)cpp/tensorrt_llm/nanobind/userbuffers/bindings.h
(0 hunks)cpp/tensorrt_llm/pybind/bindings.cpp
(1 hunks)cpp/tensorrt_llm/pybind/executor/bindings.cpp
(1 hunks)cpp/tensorrt_llm/pybind/executor/executorConfig.cpp
(1 hunks)examples/models/core/llama/summarize_long.py
(1 hunks)examples/models/core/qwen2audio/run.py
(1 hunks)examples/models/core/qwenvl/run.py
(1 hunks)jenkins/Build.groovy
(0 hunks)jenkins/L0_Test.groovy
(0 hunks)tensorrt_llm/builder.py
(1 hunks)tensorrt_llm/commands/build.py
(1 hunks)tensorrt_llm/runtime/model_runner.py
(1 hunks)tests/integration/test_lists/test-db/l0_a10.yml
(0 hunks)tests/unittest/bindings/test_bindings_ut.py
(0 hunks)tests/unittest/bindings/test_executor_bindings.py
(1 hunks)
💤 Files with no reviewable changes (34)
- tests/integration/test_lists/test-db/l0_a10.yml
- tests/unittest/bindings/test_bindings_ut.py
- cpp/tensorrt_llm/nanobind/batch_manager/bindings.h
- cpp/tensorrt_llm/nanobind/batch_manager/buffers.h
- cpp/tensorrt_llm/nanobind/executor/request.h
- cpp/tensorrt_llm/nanobind/batch_manager/kvCacheManager.h
- jenkins/L0_Test.groovy
- cpp/tensorrt_llm/nanobind/testing/modelSpecBinding.h
- cpp/tensorrt_llm/nanobind/executor/executorConfig.h
- cpp/tensorrt_llm/nanobind/executor/bindings.h
- cpp/tensorrt_llm/nanobind/runtime/bindings.h
- cpp/tensorrt_llm/nanobind/userbuffers/bindings.h
- jenkins/Build.groovy
- cpp/tensorrt_llm/nanobind/batch_manager/algorithms.h
- cpp/tensorrt_llm/nanobind/batch_manager/cacheTransceiver.h
- cpp/tensorrt_llm/nanobind/userbuffers/bindings.cpp
- cpp/tensorrt_llm/nanobind/runtime/moeBindings.h
- cpp/tensorrt_llm/nanobind/common/bindTypes.h
- cpp/tensorrt_llm/nanobind/batch_manager/llmRequest.h
- cpp/tensorrt_llm/nanobind/batch_manager/llmRequest.cpp
- cpp/tensorrt_llm/nanobind/executor/bindings.cpp
- cpp/tensorrt_llm/nanobind/batch_manager/buffers.cpp
- cpp/tensorrt_llm/nanobind/runtime/bindings.cpp
- cpp/tensorrt_llm/nanobind/runtime/moeBindings.cpp
- cpp/tensorrt_llm/nanobind/batch_manager/kvCacheManager.cpp
- cpp/tensorrt_llm/nanobind/common/customCasters.h
- cpp/tensorrt_llm/nanobind/executor/executor.cpp
- cpp/tensorrt_llm/nanobind/testing/modelSpecBinding.cpp
- cpp/tensorrt_llm/nanobind/batch_manager/algorithms.cpp
- cpp/tensorrt_llm/nanobind/batch_manager/bindings.cpp
- cpp/tensorrt_llm/nanobind/executor/request.cpp
- cpp/tensorrt_llm/nanobind/batch_manager/cacheTransceiver.cpp
- cpp/tensorrt_llm/nanobind/executor/executorConfig.cpp
- cpp/tensorrt_llm/nanobind/executor/executor.h
🚧 Files skipped from review as they are similar to previous changes (14)
- examples/models/core/qwen2audio/run.py
- cpp/CMakeLists.txt
- examples/models/core/qwenvl/run.py
- tensorrt_llm/runtime/model_runner.py
- cpp/include/tensorrt_llm/batch_manager/runtimeBuffers.h
- tensorrt_llm/builder.py
- cpp/tensorrt_llm/pybind/executor/bindings.cpp
- cpp/tensorrt_llm/pybind/executor/executorConfig.cpp
- examples/models/core/llama/summarize_long.py
- cpp/tensorrt_llm/batch_manager/runtimeBuffers.cpp
- cpp/tensorrt_llm/pybind/bindings.cpp
- tensorrt_llm/commands/build.py
- cpp/tensorrt_llm/nanobind/CMakeLists.txt
- tests/unittest/bindings/test_executor_bindings.py
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Pre-commit Check
🔇 Additional comments (1)
cpp/tensorrt_llm/nanobind/bindings.cpp (1)
2-2
: Verify the copyright year rollback.The copyright year was changed from 2025 to 2024, which is unusual. Typically, copyright years move forward. Please confirm if this rollback to 2024 is intentional as part of the revert operation.
PR_Github #12241 [ run ] triggered by Bot |
/bot skip --comment "Fix TOT build break and it's a revert" |
PR_Github #12248 Bot args parsing error: Failed to parse bot args |
/bot skip --comment "Fix TOT build break and it is a revert" |
PR_Github #12249 [ skip ] triggered by Bot |
PR_Github #12241 [ run ] completed with state |
PR_Github #12249 [ skip ] completed with state |
Signed-off-by: Iman Tabrizian <[email protected]>
Signed-off-by: Iman Tabrizian <[email protected]>
Signed-off-by: Iman Tabrizian <[email protected]> Signed-off-by: Shreyas Misra <[email protected]>
This reverts commit 5bff317.
Summary by CodeRabbit
Refactor
kv_cache_type
across various modules to use direct enum construction.Chores
Description
Test Coverage
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 [--disable-fail-fast --skip-test --stage-list "A10-1, xxx" --gpu-type "A30, H100_PCIe" --add-multi-gpu-test --only-multi-gpu-test --disable-multi-gpu-test --post-merge --extra-stage "H100_PCIe-[Post-Merge]-1, xxx"]
Launch build/test pipelines. All previously running jobs will be killed.
--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-1, xxx"
(OPTIONAL) : Only run the specified test stages. Examples: "A10-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.--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. Will also run 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-[Post-Merge]-1, xxx"
(OPTIONAL) : Run the ordinary L0 pre-merge pipeline and specified test stages. Examples: --extra-stage "H100_PCIe-[Post-Merge]-1, xxx".For guidance on mapping tests to stage names, see
docs/source/reference/ci-overview.md
.kill
kill
Kill all running builds associated with pull request.
skip
skip --comment COMMENT
Skip 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-pipeline
Reuse 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.