baracuda-tensorrt-sys
Raw FFI bindings + dynamic loader for NVIDIA TensorRT — the high-performance inference runtime that consumes pre-built engine blobs and executes them on GPU.
Symbols resolve lazily via libloading;
no link-time dependency on libnvinfer.so / nvinfer64_*.dll.
Most users want baracuda-tensorrt — that crate exposes typed
Runtime, Engine, ExecutionContext, Logger, and tensor-binding
APIs in idiomatic Rust.
Scope: runtime side only
TensorRT's builder (network construction, optimization passes, plan
serialization) is C++-only by NVIDIA's design — there is no stable C
ABI for it. Use trtexec or the Python bindings to produce engine blobs,
then load them through this crate at inference time.
The runtime side has a clean C ABI (libnvinfer's _C symbols), which
is what this crate wraps:
Runtimecreate / destroy.Enginedeserialize / inspect (IO names, shapes, dtypes, optimization profiles) / serialize back to bytes.ExecutionContextcreate with allocation strategy, set input shape, set tensor address,enqueueV3.Loggercallback registration.
Part of the baracuda workspace.
License
Dual MIT / Apache-2.0.