Skip to main content

Configuration and Backends

The current architecture uses typed, explicit inputs instead of a configuration registry.

Configuration ownership

LayerPublic surfaceOwner
BuildBuildRequest and python -m tensorrt_model_connect build flagsShared typing/validation; selected family implements or rejects the value.
Runtime taskTyped configs in core/runtime/include/trtmc/task.hPublic Task contract and selected family implementation.
Family stateNamed bundle sections such as runtime.jsonThe owning family only.
Backend loadRuntime root, optional cache/CUDA graph settingsExact loader and selected backend.

There is no current --config / --set surface, schema registry, layered defaults object, or effective-config artifact. Family-specific policy stays in families/<family>/; a stable model-agnostic input is added to the narrow shared request or Task type only when justified.

See Configuration Boundaries for contributor guidance.

Native backend DSOs

The bundle header names one backend:

Header valueRuntime DSOContract
trtlibtrtmc_backend_trt.soStandard TensorRT Engine implementation.
trt_rtxlibtrtmc_backend_trt_rtx.soOptional TensorRT-RTX Engine implementation.

Both are loaded from the same required runtime root as the family DSO:

trtmc run model.bundle \
--runtime-root /opt/trtmc/lib \
--prompt "Hello"

The loader does not accept a separate backend/model-plugin directory and does not search environment variables or fallback paths. A standard backend bundle rejects --runtime-cache and --cuda-graphs; those settings are forwarded only for a trt_rtx bundle.

Build-time backend selection

python -m tensorrt_model_connect build MODEL \
--backend trt \
--output model.bundle

Selecting trt_rtx changes the bundle backend identity and requires the corresponding family path and installed TensorRT-RTX backend DSO. Parser acceptance alone is not a support claim; validate the exact family, checkpoint, backend, hardware, and Task behavior.