Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
230 commits
Select commit Hold shift + click to select a range
b534c7c
[test]: Fix L0_batch_custom - missing CMake variables that could resu…
nv-tusharma Mar 13, 2025
45d1fb4
[test]: L0_batch_custom & L0_client_build_variants: Set default value…
nv-tusharma Mar 14, 2025
928fd7e
feat: ORCA Format KV Cache Utilization in Inference Response Header (…
BenjaminBraunDev Mar 17, 2025
422527d
test: Add test for ORCA (#8009)
indrajit96 Mar 17, 2025
6afaed7
Remove extra file from ORCA commit (#8075)
indrajit96 Mar 17, 2025
03dbf31
docs: rename userguide AI Agents section to Features | add spec decod…
ziqifan617 Mar 25, 2025
fd19783
docs: change server README to only load densenet_onnx since tf model …
ziqifan617 Mar 26, 2025
5fd6bc4
feat: Configurable grpc infer thread count (#8061)
yinggeh Apr 4, 2025
42811e0
fix: Fix gRPC cancellation race condition (#8078)
yinggeh Apr 8, 2025
cbf4f41
TPRD-1200: Update default branch post 25.03 (#8130)
mc-nv Apr 8, 2025
6c6df11
test: Add tests cancelling BLS decoupled request in Python backend (#…
richardhuo-nv Apr 8, 2025
ef52c84
vLLM backend SBSA build (#8142)
oandreeva-nv Apr 11, 2025
25baa7b
fix: Fix segfaults in tracing mode after long run (#8144)
yinggeh Apr 14, 2025
1e7ba25
ci: Removed obsolete lib: libnvToolsExt.so (#8146)
dmitry-tokarev-nv Apr 14, 2025
27f0410
fix: Update REAMDE.md (#8148)
mc-nv Apr 14, 2025
5eb09ce
feat: Add multi-LoRA support to OpenAI frontend (#8038)
kthui Apr 14, 2025
292dfd9
feat: add the tool calling to the openai frontend (#8134)
richardhuo-nv Apr 17, 2025
20b8dff
ci: Remove unsupported PA tests from server repo and CI (#8158)
pvijayakrish Apr 18, 2025
901b0e9
test: Add config parameter "execution_context_allocation_strategy" to…
yinggeh Apr 18, 2025
7dd5810
TPRD-1425: Excluding Triton Model Analyzer from build (#8159)
mc-nv Apr 21, 2025
1f9787c
Fixes for 25.04 release L0_grpc_* and L0_http_* tests (#8152)
oandreeva-nv Apr 22, 2025
ff4bd4e
test: Input batch size overflow vulnerability (#8165)
yinggeh Apr 24, 2025
5a2aaba
feat: Add graceful shutdown timer to GRPC frontend (#7969)
mattwittwer Apr 26, 2025
d308c25
Adding additional output to build process (#8175)
mc-nv Apr 29, 2025
744995f
build: Integrate to use PA and GAP assets if available (#8155)
pvijayakrish Apr 29, 2025
02706fd
build: Update ARG in Dockerfile.sdk (#8179)
pvijayakrish Apr 30, 2025
8d62bd8
Fix: Update handling of shared mem integer values (#8170)
mattwittwer May 2, 2025
f46557b
fix: Add HTTP JSON parsing recursion depth limit (#8172)
pskiran1 May 2, 2025
58ccf51
test: Add backend_api_test to test backend APIs (#8185)
yinggeh May 7, 2025
4fc0a5e
Update default branch post-25.04 (#8188)
mc-nv May 7, 2025
d6750e8
Fix: Update element count handling (#8182)
mattwittwer May 7, 2025
cb8fe02
[build] boost vLLM to 0.8.5 (#8193)
oandreeva-nv May 8, 2025
578096b
TPRD-1508: Update ONNX Runtime version to 1.22.0
mc-nv May 8, 2025
f709c33
TPRD-1509: Uppdate OpenVINO version to 2025.1.0
mc-nv May 8, 2025
1b39843
proper 25.05 version (#8198)
oandreeva-nv May 9, 2025
7866ef4
R25.04 compatibility.md updates (#8201) (#8206)
dmitry-tokarev-nv May 14, 2025
b8caffb
fix: Fix L0_backend_python test (#8178)
krishung5 May 19, 2025
fa3361e
TPRD-1536: Update 'build.py' to meet TensorRT-LLM repository structur…
mc-nv May 21, 2025
550f64b
build: Convert vLLM index url ARGS into docker secrets (#8197)
nv-tusharma May 21, 2025
27cece9
fix: Improve cancellation handling for gRPC non-decoupled inference (…
pskiran1 May 29, 2025
b343cc0
test: fix L0_trace flaky test (#8231)
yinggeh Jun 3, 2025
1b8c818
Prepare r25.05 for merging to main (#8237)
dmitry-tokarev-nv Jun 5, 2025
17fcee4
test: Write logs to correct output stream (#8236)
yinggeh Jun 6, 2025
af8bb93
fix: Update handling of large array sizes (#8174)
mattwittwer Jun 6, 2025
1380155
ci: fix the trtllm tests after the repo migration of trtllm backend (…
richardhuo-nv Jun 9, 2025
4184494
Update default branch to track development for 2.60.0 / 25.07 (#8243)
mc-nv Jun 11, 2025
30e20cb
fix: Support max_completion_tokens option in OpenAI frontend (#8226)
pskiran1 Jun 24, 2025
152eb31
post-25.06: Update default branch (#8271)
mc-nv Jun 28, 2025
cc476d7
test: Remove shared memory key from the error response (#8269)
yinggeh Jun 30, 2025
251f8ae
fix: Improve data type validation for classification (#8267)
pskiran1 Jul 1, 2025
c104b89
TPRD-1590: OpenVINO 2025.2.0 version updated (#8277)
mc-nv Jul 1, 2025
2e8de23
fix: Improve validation for system shared memory register (#8273)
pskiran1 Jul 2, 2025
d17512b
feat: Add support for `usage` in the OpenAI frontend vLLM backend (#8…
pskiran1 Jul 3, 2025
9d62236
fix: adding libcufile.so.0 to the cpu only container so that libtorch…
nv-kmcgill53 Jul 10, 2025
e870036
DLIS-8335: Update API for model generation (#8294)
mc-nv Jul 15, 2025
9529d5a
build: TPRD-1622 - Update version to CMake 4.0 or 3.31 ( 3.31.8 ) whi…
mc-nv Jul 15, 2025
d491fff
TPRD-1627: update validation condition (#8297)
mc-nv Jul 17, 2025
ace2c5b
ci: Update DCGM version to 4.2.3-2 (#8298)
yinggeh Jul 18, 2025
ad72741
refactor: Enhance memory allocation security in HTTP and Sagemaker re…
yinggeh Jul 25, 2025
99f4820
ci: Anchor datacenter-gpu-manager-4-core version (#8315)
yinggeh Jul 29, 2025
e672c28
Update default branch post 25.07 (#8319)
mc-nv Jul 30, 2025
5a97991
ci: Improve error handling for Python backend model initialization fa…
pskiran1 Aug 7, 2025
a4d1897
fix: Proper handling of system shm register offset (#8330)
yinggeh Aug 7, 2025
50ff906
fix: System shared memory boundary check (#8335)
yinggeh Aug 9, 2025
21245cf
fix: Improve validation for system shared memory register (#8336)
pskiran1 Aug 11, 2025
5e3eec9
fix: Add testing for explicit model load (#8276)
mattwittwer Aug 13, 2025
7063d46
Add CMake policy for legacy code (#8331)
mc-nv Aug 13, 2025
d3817a1
ci: Resolve CI failures (#8347)
pskiran1 Aug 15, 2025
b4cbfa2
post-25.08: Update default branch (#8366)
mc-nv Aug 28, 2025
3e52154
ci: Response Cache memory growth test (#8363)
pskiran1 Sep 3, 2025
c4b5540
Update "cuda-cupy" package (#8377)
mc-nv Sep 9, 2025
3065d9e
Set OpenVINO 2025.3 (#8378)
mc-nv Sep 9, 2025
eb95992
fix: Install GenAI-Perf and Perf Analyzer in SDK container from pypi.…
matthewkotila Sep 10, 2025
e320c17
version: Update development version fro 25.10 release (#8384)
mc-nv Sep 10, 2025
2e632a9
feat: Static key authentication for OpenAI frontend (#8374)
yinggeh Sep 10, 2025
4a12210
fix: Replace dead link for Densenet (#8394)
yinggeh Sep 18, 2025
e0e3708
fix: Ensure model name cannot be used to escape model repository (#8400)
whoisj Sep 23, 2025
5d48435
ci: Remove deprecated vLLM config "disable_log_requests" (#8408)
yinggeh Sep 24, 2025
acd0cb9
ci: Fix CI failures (#8405)
pskiran1 Sep 25, 2025
8629c59
ci: Fix L0_client_build_variants and L0_sdk tests (#8409)
pskiran1 Sep 26, 2025
bc23c0a
ci: Remove precompiled `response_cache_test` binary from `L0_response…
pskiran1 Sep 29, 2025
e0c5dc9
fix: Replace Use of `alloca` (#8411)
whoisj Sep 29, 2025
d274607
ci: Update TRT-LLM tests with new config "prompt_embedding_table_data…
yinggeh Sep 30, 2025
280a6dc
test: Fix L0_simple_lib--base (#8431)
yinggeh Oct 2, 2025
44273e8
fix: Validate `model_name` when Loading Model from Repository (#8427)
whoisj Oct 3, 2025
8d0b87a
TPRD-1710: Update default branches post-25.09 (#8443)
mc-nv Oct 6, 2025
d5515db
fix: Handle Parsing Error (#8447)
whoisj Oct 9, 2025
c31c40f
Update ONNX Runtime version to 1.23.1 (#8446)
mc-nv Oct 9, 2025
be7d4b1
fix: Improve input size validation for large HTTP JSON requests (#8432)
pskiran1 Oct 10, 2025
c40a3f5
Removing TensorFlow obsolete tests scenarios. (#8450)
mc-nv Oct 10, 2025
c50245c
Installing missed package (#8454)
mc-nv Oct 10, 2025
ebf8bff
Update default branch to track development of 2.63.0 / 25.11 (#8455)
mc-nv Oct 10, 2025
c8a1bca
ci: Add support for `max_inflight_requests` parameter to prevent unbo…
pskiran1 Nov 3, 2025
e92f236
post(25.10): Update default branch (#8487)
mc-nv Nov 3, 2025
7042016
fix(pre-commit): update hooks versions (#8490)
mc-nv Nov 4, 2025
0eb1f23
Update ONNX Runtime version (#8492)
mc-nv Nov 5, 2025
f4ae90c
feat: OpenAI-compatible API Endpoints for Embedding Models (vLLM) (#8…
yinggeh Nov 6, 2025
d074a3b
Add Integer Overflow Sanity Check (#8489)
whoisj Nov 6, 2025
4f98ebf
build(dependencies): Validate boost version (#8494)
mc-nv Nov 6, 2025
87f7d81
feat: Improve Error Handling in OpenAI Frontend (#8500)
yinggeh Nov 12, 2025
75993dd
fix: Skip model resnet50_fp32_onnx in L0_memory_growth--base (#8503)
yinggeh Nov 12, 2025
a468230
feat: Add support for `usage` in the OpenAI frontend TRT-LLM backend …
pskiran1 Nov 13, 2025
98293ec
maintenance: Upgrade 'starlette' Python Package (#8506)
whoisj Nov 13, 2025
23c53dc
Add Model Analyzer to SDK container (#8511)
mc-nv Nov 14, 2025
dd99592
tensorrtllm_backend: build with CUDA 13 (#8519)
mc-nv Nov 18, 2025
116c3b4
feat: Support "echo" for TensorRT-LLM models in OpenAI API frontend v…
yinggeh Nov 19, 2025
db6aa4e
Update 'build.py' to allow customer set the dependency group for whee…
mc-nv Nov 19, 2025
d8704c4
Update L0_python_backend test scenario (#8526)
mc-nv Nov 20, 2025
15010d2
models: restructure models generation script. (#8544)
mc-nv Nov 25, 2025
35ff880
post: Update default branch post-25.11 (#8548)
mc-nv Nov 26, 2025
b68e460
models: Update validation condition (#8556)
mc-nv Dec 2, 2025
d107e48
feat: Support `logprobs` for vLLM models in OpenAI Frontend (#8538)
pskiran1 Dec 4, 2025
31451dc
docs: Reformat Model Repository Files (#8493)
whoisj Dec 4, 2025
dcf92e1
manylinux: Update build configuration (#8553)
mc-nv Dec 4, 2025
0ece63f
models: Allow generate models using enroot (#8557)
mc-nv Dec 5, 2025
77577e6
openvino: version change (#8559)
mc-nv Dec 5, 2025
08ffffe
fix: update build.py conditions (#8560)
mc-nv Dec 8, 2025
97f2f46
ci: Enable detection of unresponsive or crashed Python backend stub p…
pskiran1 Dec 9, 2025
2cd8f61
Update default branch to track development for 2.65.0 / 26.01 (#8566)
mc-nv Dec 10, 2025
b4ecea7
Update models generation script (#8567)
mc-nv Dec 10, 2025
8a23c8c
ci: Fix `L0_openai_trtlm` errors (#8565)
pskiran1 Dec 11, 2025
d697e8d
fix: Correctly Guard List Access (#8563)
whoisj Dec 11, 2025
f3bdcc7
fix: Fix race condition in model loading/unloading in Sagemaker serve…
yinggeh Dec 11, 2025
90b6675
feat: Support multi-LoRA for TensorRT-LLM backend in OpenAI-compatibl…
yinggeh Dec 12, 2025
dd2fc4f
docs: Enable OpenAI-compaitible frontend GA readiness (#8576)
yinggeh Dec 16, 2025
eb04f5f
feat: Extend histogram metrics to non-decoupled models (#8580)
yinggeh Dec 18, 2025
cd0e3a6
fix: Set memory decompression limit (#8570)
mattwittwer Dec 18, 2025
9a03e72
post: Update default branch post-25.12 (#8585)
mc-nv Dec 30, 2025
f21d793
Update OpenVINO version to 2025.4.1 (#8588)
mc-nv Jan 6, 2026
838f10f
fix: LICENSE file range of years (#8589)
mc-nv Jan 6, 2026
26e9b1e
Update condition for manilinux scenarios. (#8590)
mc-nv Jan 8, 2026
8bbbe5b
Use TensorRT-LLM fork in Triton Inference Server development (#8593)
mc-nv Jan 9, 2026
ab41d5e
Update default branch to track development for 2.66.0 / 26.02 (#8600)
mc-nv Jan 13, 2026
4c8b107
tests: Update torch installation (#8598)
mc-nv Jan 13, 2026
50bbba6
cpu-only: inlcude libnvshmem. (#8606)
mc-nv Jan 16, 2026
abbb415
fix: Correct error variable pointer in Sagemaker server (#8608)
yinggeh Jan 20, 2026
702c6da
docs: correct model management (#8562)
whoisj Jan 20, 2026
0be87c0
fix: improve boundry checks (#8611)
whoisj Jan 21, 2026
3c205db
fix: Improve bounds checking on integer conversions (#8612)
whoisj Jan 21, 2026
8190acb
Revert "fix: Improve bounds checking on integer conversions (#8612)" …
mc-nv Jan 23, 2026
3ef6062
feat: guard against unbounded output size (#8603)
HyperPS Jan 23, 2026
865432f
fix: Improve bounds checking on integer conversions (#8619)
whoisj Jan 28, 2026
9e26193
feat: Triton Enhancement Proposals (#8517)
whoisj Jan 28, 2026
b1bacfc
ci: Fix L0_model_control_stress (#8627)
yinggeh Jan 30, 2026
1307ace
fix: Use correct torchvision model weights (#8628)
yinggeh Jan 30, 2026
265d5cb
post: Update default branch post-26.01 (#8633)
mc-nv Feb 3, 2026
3ce91be
docs: Fix broken links in documents (#8636)
yinggeh Feb 5, 2026
5ae91e8
Catch potential out of range exception (#8637)
whoisj Feb 5, 2026
8a2b7fc
test: Add test case for output tensor size (#8639)
mattwittwer Feb 6, 2026
fbb112a
test: Allow log_error and log_warn to write to sys.stderr in L0_opena…
yinggeh Feb 6, 2026
9499a77
Bump versions: ONNXRuntime to 1.24.1 and DCGM to 4.5.2 (#8642)
mc-nv Feb 9, 2026
cf48143
Update dcgm version for SDK image (#8648)
mc-nv Feb 9, 2026
0fa24b6
Update default branch to track development for 2.67.0 / 26.03 (#8647)
mc-nv Feb 10, 2026
8a047ad
ci: Ensemble requests stuck indefinitely when the step `max_queue_siz…
pskiran1 Feb 11, 2026
0844c37
docs: Fix broken links in "Perf benchmarking and tuning" section (#8649)
yinggeh Feb 12, 2026
22fd79e
Update variables for models generation. Addressing legacy variables v…
mc-nv Feb 20, 2026
a202ae5
fix: Path Traversal Bug in SageMaker Server (#8659)
whoisj Feb 25, 2026
bdd1c3c
test: Correct misuse of log file argument (#8673)
yinggeh Feb 25, 2026
df3dec3
fix: Additional validations for OpenAI frontend LoRA paths (#8669)
yinggeh Mar 2, 2026
36f4b17
ci: Add model name validation for model management requests (#8672)
pskiran1 Mar 3, 2026
0a98c75
post: Update default branch post-26.02 (#8681)
mc-nv Mar 3, 2026
04af2a6
fix: Block path traversal attacks via the deployment API for MLflow-T…
mudit-eng Mar 4, 2026
0906223
Switch to stable API (#8684)
mc-nv Mar 5, 2026
952a9fb
test: Add L0_backend_onnxruntime test for enabling bfloat16 dtype in …
yinggeh Mar 5, 2026
6b0539b
fix: Update Vertex AI endpoint to use HTTP restriction config (#8680)
pskiran1 Mar 7, 2026
bbc0b54
ci: Support user-defined `is_ready()` in Python backend readiness che…
pskiran1 Mar 9, 2026
b14c139
Update development versions (#8690)
mc-nv Mar 10, 2026
a5b45da
fix: apply HTTP restrictions to the SageMaker endpoint (#8686)
mattwittwer Mar 11, 2026
d8f1616
fix: improve Vertex AI redirect handling (#8685)
mattwittwer Mar 11, 2026
06afae5
test: Test safe GetElementCount and GetByteSize APIs at common and co…
yinggeh Mar 12, 2026
d110600
test: PyTorch PT2 Model Generation (#8666)
whoisj Mar 13, 2026
0177f59
feat: Refactor vLLM build to use upstream container image (#8697)
mc-nv Mar 13, 2026
4c4b3ae
test: fix sagemaker input size test (#8695)
mattwittwer Mar 13, 2026
da9028a
test: Add more test cases to validate model name while loading (#8701)
mudit-eng Mar 16, 2026
b593182
build: Add pybind11[global] to buildbase (#8703)
whoisj Mar 16, 2026
2f6e34d
Update TensorRT-LLM build (#8704)
mc-nv Mar 17, 2026
f642e53
TRI-837: quick fix, installaing defined version of PIP module (#8710)
mc-nv Mar 19, 2026
bf2bd08
feat: Support explicit model control mode and model management in Ope…
pskiran1 Mar 24, 2026
c1b7cb7
fix: UAF in gRPC streaming "triton_grpc_error" mode (#8708)
yinggeh Mar 30, 2026
766e286
post: Update default branch post-26.03 (#8719)
mc-nv Mar 30, 2026
79877d7
test: Fix L0_backend_python model_readiness subtest (#8709)
pskiran1 Mar 31, 2026
e0f0ae8
refactor: Remove unused variables and arguments in model generation s…
yinggeh Apr 1, 2026
e0a6a1e
test: Enforce `max_inflight_requests` as a shared limit across ensemb…
pskiran1 Apr 2, 2026
e5aecb3
fix: Avoid overflows when reading json inputs (#8676)
whoisj Apr 6, 2026
265a82d
chore(server): before the code freeze (#8724)
mc-nv Apr 7, 2026
e48aa48
fix(qa): build models (#8725)
mc-nv Apr 8, 2026
c83ceaf
build: remove vllm flags (#8727)
mc-nv Apr 8, 2026
00f247b
chore(versions): Update default branch to track development for 2.69.…
mc-nv Apr 9, 2026
57d0cb3
docs: Fix the cache path in README for OpenAI-Compatible Frontend (#8…
mudit-eng Apr 10, 2026
b4d8bb1
Add Azure Managed Identity authentication support (#8652)
nightflight-dk Apr 10, 2026
399a795
test: Update `L0_openai` TRT-LLM model repository preparation (#8717)
pskiran1 Apr 11, 2026
7a1ff16
test: Add test case for RequestTracker counter mismatch (#8722)
mattwittwer Apr 14, 2026
546a787
feat: Disable client shared memory by default and enable it explicitl…
yinggeh Apr 15, 2026
0fbbb8b
fix: Fix null pointer dereference in SageMaker server logging (#8742)
pskiran1 Apr 16, 2026
79a688e
test: Add missing "--allow-client-shm=true" options (#8746)
yinggeh Apr 17, 2026
18aae79
feat(docker): add auditwheel to Dockerfile.sdk sdk_build stage (#8743)
mc-nv Apr 18, 2026
8987747
ci: Fix L0_batcher*--SBSA--GB300--base (#8749)
yinggeh Apr 20, 2026
b6870e2
test: Add perf_analyzer dependency to L0_perf_vllm (#8747)
mattwittwer Apr 20, 2026
9144042
test: Safely handle filesystem exception (#8736)
yinggeh Apr 20, 2026
05c2180
fix: Address SonarQube issues - clean up container files (#8753)
mudit-eng Apr 21, 2026
5fd7a93
test: Add validation to reject duplicate output names in HTTP and gRP…
pskiran1 Apr 23, 2026
0806295
fix: Avoid Reusing Closed File Descriptor (#8733)
whoisj Apr 23, 2026
4525088
test: Add HTTP test for deep JSON in repository index requests (#8745)
pskiran1 Apr 24, 2026
3ff5959
test: Fix various vLLM tests (#8756)
yinggeh Apr 24, 2026
8cce7bb
post: Advance main to 26.05dev (#8760)
mc-nv Apr 29, 2026
f160200
fix: tag tritonfrontend wheel with arch-specific platform tag (#8761)
mc-nv May 5, 2026
69987b7
fix: Reject requests if parameters and forward headers contain Triton…
yinggeh May 6, 2026
2f65837
fix: Pre-allocate serialized buffer for gRPC BYTES input (#8769)
pskiran1 May 7, 2026
669cef0
fix: Prevent memory retention on failed compressed HTTP requests (#8764)
pskiran1 May 7, 2026
13480cb
fix: Cap chunked HTTP request chunk count at 65536 to prevent memory …
yinggeh May 8, 2026
c7a1312
chore(version): Update development version 2.70.0 / 26.06 (#8777)
mc-nv May 13, 2026
5133f7b
test: Add Torch AOTI Tests (#8771)
whoisj May 15, 2026
1e69d88
fix(qa): ommit plugin creation if TensorRT branch is missed. (#8783)
mc-nv May 15, 2026
665030a
test: Align QA BF16 with ml_dtypes and generate ONNX BF16 models (#8782)
yinggeh May 18, 2026
a706aed
test: Add C++ gRPC cancellation tests to L0_request_cancellation (#8775)
yinggeh May 19, 2026
c985be3
fix: Verify RE2::FullMatch return value in Sagemaker server (#8791)
yinggeh May 19, 2026
c8e2f02
docs: Officially drop Windows-related documentation (#8792)
yinggeh May 20, 2026
2d64d2d
fix: Replace std:atoi with std:stoi (#8794)
whoisj May 21, 2026
e24fd86
fix: ignore SIGPIPE to prevent server crash on S3 idle connection tim…
Its-Tanay May 27, 2026
9082a24
test: Special handling for ONNX bf16 models in tests (#8800)
yinggeh May 27, 2026
8cb2b77
feat: Add HTTP request body size limit to OpenAI frontend (#8787)
pskiran1 May 29, 2026
e520f8c
test: Verify `EXECUTION_ENV_PATH` archive entries stay within the mod…
pskiran1 Jun 2, 2026
258a8cb
post: Update default branch post-26.05 (#8804)
mc-nv Jun 2, 2026
6328853
Remove Windows server build support (#8812)
Vinya567 Jun 2, 2026
c84bd83
fix: Remove `all_special_tokens_extended` for transformers v5 compati…
yinggeh Jun 4, 2026
5dfefde
build: normalize install tree ownership and permissions (#8803)
mattwittwer Jun 4, 2026
c3661e8
Initial commit
pm-shantanu-mirajgave Jun 5, 2026
797ec68
Added DB logic and new Dockerfile
pubmadhukar Jun 9, 2026
9ba4580
Added logic for feature mapping. Converting request to triton request…
pm-shantanu-mirajgave Jun 15, 2026
724577a
Converting vector to unordered set
pm-shantanu-mirajgave Jun 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2023-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# Copyright 2023-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
Expand Down Expand Up @@ -31,15 +31,15 @@ on:

jobs:
pre-commit:
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v5.0.0
with:
fetch-depth: 2
- name: Get modified files
id: modified-files
run: echo "modified_files=$(git diff --name-only -r HEAD^1 HEAD | xargs)" >> $GITHUB_OUTPUT
- uses: actions/setup-python@v3
- uses: pre-commit/action@v3.0.0
- uses: actions/setup-python@v6.0.0
- uses: pre-commit/action@v3.0.1
with:
extra_args: --files ${{ steps.modified-files.outputs.modified_files }}
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,12 @@ test_results.txt
artifacts
cprofile
*.prof
.venv
**/.venv

# Test exclusions
qa/L0_openai/openai
tensorrtllm_models
tensorrtllm_mistral_models/
custom_tokenizer
replace-artifacts/
8 changes: 4 additions & 4 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2023-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# Copyright 2023-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
Expand All @@ -25,7 +25,7 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

repos:
- repo: https://github.com/timothycrosley/isort
- repo: https://github.com/PyCQA/isort
rev: 5.12.0
hooks:
- id: isort
Expand All @@ -36,7 +36,7 @@ repos:
- id: black
types_or: [python, cython]
- repo: https://github.com/PyCQA/flake8
rev: 5.0.4
rev: 7.3.0
hooks:
- id: flake8
args: [--max-line-length=88, --select=C,E,F,W,B,B950, --extend-ignore = E203,E501]
Expand All @@ -57,7 +57,7 @@ repos:
# More details about these pre-commit hooks here:
# https://pre-commit.com/hooks.html
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
rev: v6.0.0
hooks:
- id: check-case-conflict
- id: check-executables-have-shebangs
Expand Down
20 changes: 20 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,21 @@

cmake_minimum_required(VERSION 3.18)

# CMake 4.0+ rejects projects that call cmake_minimum_required(VERSION < 3.5).
# The fetched third_party repo builds libevent 2.1.12 via ExternalProject using a
# separate CMake invocation; that step does not inherit -D variables from the top
# level unless they are also in the environment. If configure fails inside libevent
# with "Compatibility with CMake < 3.5 has been removed", use either:
# export CMAKE_POLICY_VERSION_MINIMUM=3.5 # before cmake AND cmake --build
# or install/use CMake 3.28.x–3.31.x for this build.
if(CMAKE_VERSION VERSION_GREATER_EQUAL "4.0")
message(
STATUS
"CMake ${CMAKE_VERSION}: for libevent/third_party with CMake 4.x, export "
"CMAKE_POLICY_VERSION_MINIMUM=3.5 in your shell before configure and build "
"(see docs/customization_guide/build.md).")
endif()

project(tritonserver LANGUAGES C CXX)

include(CMakeDependentOption)
Expand Down Expand Up @@ -65,6 +80,10 @@ option(TRITON_ENABLE_GCS "Include GCS Filesystem support in server" OFF)
option(TRITON_ENABLE_S3 "Include S3 Filesystem support in server" OFF)
option(TRITON_ENABLE_AZURE_STORAGE "Include Azure Storage Filesystem support in server" OFF)

option(TRITON_ENABLE_MYSQL_ODBC
"Enable MySQL ODBC connection pool in tritonserver (requires unixODBC / ODBC dev package)"
OFF)

# Need to know if TensorRT is available when building unit tests
option(TRITON_ENABLE_TENSORRT "Include TensorRT backend in server" OFF)

Expand Down Expand Up @@ -261,6 +280,7 @@ ExternalProject_Add(triton-server
-DTRITON_ENABLE_S3:BOOL=${TRITON_ENABLE_S3}
-DTRITON_ENABLE_TENSORRT:BOOL=${TRITON_ENABLE_TENSORRT}
-DTRITON_ENABLE_ENSEMBLE:BOOL=${TRITON_ENABLE_ENSEMBLE}
-DTRITON_ENABLE_MYSQL_ODBC:BOOL=${TRITON_ENABLE_MYSQL_ODBC}
-DTRITON_MIN_CXX_STANDARD:STRING=${TRITON_MIN_CXX_STANDARD}
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX:PATH=${TRITON_INSTALL_PREFIX}
Expand Down
109 changes: 109 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
# Copyright 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# Derivative image: start from an official Triton server image and replace only
# the tritonserver executable and libtritonserver.so. Backends, Python wheels,
# and the rest of the filesystem stay unchanged from the base image.
#
# After a local CMake install (same layout as your -DCMAKE_INSTALL_PREFIX):
# install/bin/tritonserver
# install/lib/libtritonserver.so
#
# Prepare artifacts (from repository root):
# mkdir -p replace-artifacts
# cp install/bin/tritonserver replace-artifacts/
# cp install/lib/libtritonserver.so replace-artifacts/
# cp /etc/odbc.ini replace-artifacts/odbc.ini # optional if databaseIp is set (DSN unused)
# Run `odbcinst -q -d` inside the built image to see the exact ODBC driver name for
# optional JSON field "odbcDriverName" if the default fails.
#
# Build (from repository root; match your Triton tag, e.g. r25.03):
# docker build \
# --build-arg BASE_IMAGE=nvcr.io/nvidia/tritonserver:25.03-py3 \
# -t tritonserver:25.03-custom .
#
# CPU-only base example:
# docker build \
# --build-arg BASE_IMAGE=nvcr.io/nvidia/tritonserver:25.03-py3-min \
# -t tritonserver:25.03-custom-cpu .
#
# If your base image stores libtritonserver.so under lib64:
# --build-arg TRITON_LIB_SUBDIR=lib64
#
# Ubuntu 24.04 (noble) base images: use Connector package for 24.04, e.g.:
# --build-arg MYSQL_ODBC_DEB_VERSION=9.7.0-1ubuntu24.04
#
# Run (mount a model repository and optionally override DM config):
# docker run --rm --gpus=all \
# -p8000:8000 -p8001:8001 -p8002:8002 \
# -v /path/to/model_repo:/models:ro \
# -v /path/to/your-triton-dmconfig.json:/etc/triton-dmconfig.json:ro \
# tritonserver:25.03-custom \
# tritonserver --model-repository=/models
#
# For CPU-only, drop --gpus=all and use a CPU/min base image.

ARG BASE_IMAGE=nvcr.io/nvidia/tritonserver:25.03-py3

FROM ${BASE_IMAGE}

ARG TRITON_INSTALL_PREFIX=/opt/tritonserver
ARG TRITON_LIB_SUBDIR=lib

ARG MYSQL_ODBC_DEB_VERSION=9.7.0-1ubuntu22.04
ARG MYSQL_ODBC_DEB_ARCH=amd64

# unixODBC + official MySQL Connector/ODBC .deb (libmyodbc8 is often only in Ubuntu Universe
# or missing on minimal images). Override MYSQL_ODBC_DEB_* for noble/arm64, etc.
USER root

RUN set -eux; \
apt-get update; \
apt-get install -y --no-install-recommends \
ca-certificates \
curl \
unixodbc \
odbcinst; \
DEB="mysql-connector-odbc_${MYSQL_ODBC_DEB_VERSION}_${MYSQL_ODBC_DEB_ARCH}.deb"; \
curl -fsSL -o "/tmp/${DEB}" \
"https://repo.mysql.com/apt/ubuntu/pool/mysql-tools/m/mysql-connector-odbc/${DEB}"; \
apt-get install -y "/tmp/${DEB}" || apt-get -fy install; \
rm -f "/tmp/${DEB}"; \
rm -rf /var/lib/apt/lists/*

# mysql-connector-odbc registers Driver=/usr/lib/.../odbc/libmyodbc9w.so in
# /etc/odbcinst.ini, but Ubuntu/Debian often install the .so under
# /usr/lib/<triplet>/odbc/ only. unixODBC then fails with "Can't open lib
# '/usr/lib/odbc/libmyodbc9w.so'". Symlink all libmyodbc*.so into /usr/lib/odbc/.
RUN set -eux; \
mkdir -p /usr/lib/odbc; \
for f in \
/usr/lib/x86_64-linux-gnu/odbc/libmyodbc*.so \
/usr/lib/aarch64-linux-gnu/odbc/libmyodbc*.so; \
do \
if [ -f "${f}" ]; then \
ln -sf "${f}" "/usr/lib/odbc/$(basename "${f}")"; \
fi; \
done; \
test -f /usr/lib/odbc/libmyodbc9w.so

# Optional DSN file (only used when databaseIp is empty in triton-dmconfig.json).
COPY replace-artifacts/odbc.ini /etc/odbc.ini
RUN chmod 644 /etc/odbc.ini

# Default DM database metadata (override at runtime with -v ...:/etc/triton-dmconfig.json:ro)
COPY replace-artifacts/triton-dmconfig.json /etc/triton-dmconfig.json
RUN chmod 644 /etc/triton-dmconfig.json

# Paths relative to the build context (repository root when building with ".")
COPY replace-artifacts/tritonserver ${TRITON_INSTALL_PREFIX}/bin/tritonserver
COPY replace-artifacts/libtritonserver.so \
${TRITON_INSTALL_PREFIX}/${TRITON_LIB_SUBDIR}/libtritonserver.so

# Match ownership used by generated Triton Dockerfiles (triton-server uid)
RUN chown 1000:1000 \
${TRITON_INSTALL_PREFIX}/bin/tritonserver \
${TRITON_INSTALL_PREFIX}/${TRITON_LIB_SUBDIR}/libtritonserver.so \
&& chmod 755 \
${TRITON_INSTALL_PREFIX}/bin/tritonserver \
${TRITON_INSTALL_PREFIX}/${TRITON_LIB_SUBDIR}/libtritonserver.so

31 changes: 19 additions & 12 deletions Dockerfile.QA
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ RUN apt-get update && \
python3-pip \
python3-wheel \
python3-setuptools \
python3-venv \
rapidjson-dev \
software-properties-common && \
rm -rf /var/lib/apt/lists/*
Expand All @@ -74,12 +75,19 @@ RUN apt update -q=2 \
&& apt-get install -y --no-install-recommends cmake=3.28.3* cmake-data=3.28.3*

# Add inception_graphdef model to example repo
# FIXME: This should be changed to using the fetch_models.sh script
# in order to ensure the public facing docs are up-to-date.
WORKDIR /workspace/docs/examples/model_repository
RUN mkdir -p inception_graphdef/1 && \
wget -O ${TRITONTMP_DIR}/inception_v3_2016_08_28_frozen.pb.tar.gz \
https://storage.googleapis.com/download.tensorflow.org/models/inception_v3_2016_08_28_frozen.pb.tar.gz && \
(cd ${TRITONTMP_DIR} && tar xzf inception_v3_2016_08_28_frozen.pb.tar.gz) && \
mv ${TRITONTMP_DIR}/inception_v3_2016_08_28_frozen.pb inception_graphdef/1/model.graphdef
RUN mkdir -p model_repository/inception_onnx/1 && \
wget -O /tmp/inception_v3_2016_08_28_frozen.pb.tar.gz \
https://storage.googleapis.com/download.tensorflow.org/models/inception_v3_2016_08_28_frozen.pb.tar.gz && \
(cd /tmp && tar xzf inception_v3_2016_08_28_frozen.pb.tar.gz) && \
python3 -m venv tf2onnx && \
source ./tf2onnx/bin/activate && \
pip3 install "numpy<2" tensorflow tf2onnx && \
python3 -m tf2onnx.convert --graphdef /tmp/inception_v3_2016_08_28_frozen.pb --output inception_v3_onnx.model.onnx --inputs input:0 --outputs InceptionV3/Predictions/Softmax:0 && \
deactivate && \
mv inception_v3_onnx.model.onnx model_repository/inception_onnx/1/model.onnx

# Update the qa/ directory with test executables, models, etc.
WORKDIR /workspace
Expand Down Expand Up @@ -109,7 +117,7 @@ RUN mkdir -p qa/common && \
cp -r docs/examples/model_repository/simple_identity qa/L0_grpc/models && \
cp -r docs/examples/model_repository/simple_sequence qa/L0_grpc/models && \
cp -r docs/examples/model_repository/simple_string qa/L0_grpc/models && \
cp -r docs/examples/model_repository/inception_graphdef qa/L0_grpc/models && \
cp -r docs/examples/model_repository/inception_onnx qa/L0_grpc/models && \
mkdir qa/L0_grpc_state_cleanup/models && \
cp -r /workspace/src/test/models/repeat_int32 qa/L0_grpc_state_cleanup/models/ && \
mkdir qa/L0_http/models && \
Expand All @@ -118,7 +126,7 @@ RUN mkdir -p qa/common && \
cp -r docs/examples/model_repository/simple_identity qa/L0_http/models && \
cp -r docs/examples/model_repository/simple_sequence qa/L0_http/models && \
cp -r docs/examples/model_repository/simple_string qa/L0_http/models && \
cp -r docs/examples/model_repository/inception_graphdef qa/L0_http/models && \
cp -r docs/examples/model_repository/inception_onnx qa/L0_grpc/models && \
mkdir qa/L0_https/models && \
cp -r docs/examples/model_repository/simple qa/L0_https/models/. && \
mkdir qa/L0_secure_grpc/models && \
Expand Down Expand Up @@ -149,21 +157,20 @@ RUN mkdir -p qa/common && \
cp bin/triton_json_test qa/L0_json/. && \
cp bin/backend_output_detail_test qa/L0_backend_output_detail/. && \
cp -r deploy/mlflow-triton-plugin qa/L0_mlflow/. && \
cp bin/input_byte_size_test qa/L0_input_validation/. && \
cp -r docs/examples/model_repository/simple_identity qa/L0_input_validation/models
cp bin/input_byte_size_test qa/L0_input_validation/.

RUN mkdir -p qa/pkgs && \
cp python/triton*.whl qa/pkgs/. && \
cp -rf python/test/. qa/L0_python_api/.

RUN mkdir -p qa/L0_simple_ensemble/models/simple/1 && \
cp docs/examples/model_repository/simple/1/model.graphdef \
cp docs/examples/model_repository/simple/1/model.onnx \
qa/L0_simple_ensemble/models/simple/1/. && \
mkdir -p qa/L0_simple_ensemble/models/simple/2 && \
cp docs/examples/model_repository/simple/1/model.graphdef \
cp docs/examples/model_repository/simple/1/model.onnx \
qa/L0_simple_ensemble/models/simple/2/. && \
mkdir -p qa/L0_socket/models/simple/1 && \
cp docs/examples/model_repository/simple/1/model.graphdef \
cp docs/examples/model_repository/simple/1/model.onnx \
qa/L0_socket/models/simple/1/.

RUN mkdir -p qa/L0_backend_identity/models && \
Expand Down
52 changes: 52 additions & 0 deletions Dockerfile.pubmatic-bt-tritonserver
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Copyright 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
#
# Extend the image produced by build.py (`docker build -t tritonserver`) with
# MySQL ODBC runtime, driver path symlinks for unixODBC, and config files.
# Build context: repository root (same as build.py final docker build).
#
# Prerequisites:
# - Image `tritonserver` must exist.
# - replace-artifacts/odbc.ini
# - replace-artifacts/triton-dmconfig.json
#
# Example:
# docker build -f Dockerfile.pubmatic-bt-tritonserver -t pubmatic-bt-tritonserver .

FROM tritonserver

ARG MYSQL_ODBC_DEB_VERSION=9.7.0-1ubuntu22.04
ARG MYSQL_ODBC_DEB_ARCH=amd64

USER root

RUN set -eux; \
apt-get update; \
apt-get install -y --no-install-recommends \
ca-certificates \
curl \
unixodbc \
odbcinst; \
DEB="mysql-connector-odbc_${MYSQL_ODBC_DEB_VERSION}_${MYSQL_ODBC_DEB_ARCH}.deb"; \
curl -fsSL -o "/tmp/${DEB}" \
"https://repo.mysql.com/apt/ubuntu/pool/mysql-tools/m/mysql-connector-odbc/${DEB}"; \
apt-get install -y "/tmp/${DEB}" || apt-get -fy install; \
rm -f "/tmp/${DEB}"; \
rm -rf /var/lib/apt/lists/*

RUN set -eux; \
mkdir -p /usr/lib/odbc; \
for f in \
/usr/lib/x86_64-linux-gnu/odbc/libmyodbc*.so \
/usr/lib/aarch64-linux-gnu/odbc/libmyodbc*.so; \
do \
if [ -f "${f}" ]; then \
ln -sf "${f}" "/usr/lib/odbc/$(basename "${f}")"; \
fi; \
done; \
test -f /usr/lib/odbc/libmyodbc9w.so

COPY replace-artifacts/odbc.ini /etc/odbc.ini
RUN chmod 644 /etc/odbc.ini

COPY replace-artifacts/triton-dmconfig.json /etc/triton-dmconfig.json
RUN chmod 644 /etc/triton-dmconfig.json
2 changes: 1 addition & 1 deletion Dockerfile.sdk
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
#

# Base image on the minimum Triton container
ARG BASE_IMAGE=nvcr.io/nvidia/tritonserver:25.02-py3-min
ARG BASE_IMAGE=nvcr.io/nvidia/tritonserver:25.03-py3-min

ARG TRITON_CLIENT_REPO_SUBDIR=clientrepo
ARG TRITON_PA_REPO_SUBDIR=perfanalyzerrepo
Expand Down
Loading