Runtime Resource#

class BorrowedResourceResolver#

Initialization adapter over prepared Runner resources and runtime-owned model-local objects. Returned resources outlive their borrowers; resolving a request acquires no ownership.

Subclassed by trt_edgellm::safety::RunnerResourceResolver

Public Functions

virtual ~BorrowedResourceResolver() = default#
virtual SafetyStatus resolve(
RuntimeBorrowedResourceRequest const &request,
RuntimeBorrowedResource &output
) const noexcept = 0#
class PreparedResources#

Owner-scoped lookup with immutable metadata and mutable payloads. The manager outlives this view.

Public Functions

PreparedResources() = default#
inline PreparedResources(
DeclaredResourceManager const &manager,
ResourceOwnerId owner
) noexcept#
SafetyStatus validateInitialization(
ResourceOwnerId owner
) const noexcept#

Factory/capability setup must use its own owner during Initialization.

SafetyStatus memory(
RuntimeResourceKey key,
RuntimeMemoryView &output
) const noexcept#
SafetyStatus tensor(
RuntimeResourceKey key,
RuntimeTensorView const *&output
) const noexcept#
SafetyStatus stream(
RuntimeResourceKey key,
cudaStream_t &output
) const noexcept#
SafetyStatus event(
RuntimeResourceKey key,
cudaEvent_t &output
) const noexcept#
SafetyStatus modelLocalData(
RuntimeResourceKey key,
SafetyModelLocalData *&output
) const noexcept#
SafetyStatus containerStorage(
SafetyContainerStorage *&output
) const noexcept#
struct RuntimeMemoryRequest#

Public Members

RuntimeResourceKey key = {0}#
std::size_t sizeInBytes = {0}#
RuntimeMemoryKind kind = {RuntimeMemoryKind::kPAGEABLE}#
struct RuntimeMemoryView#

Public Members

void *data = {nullptr}#
std::size_t sizeInBytes = {0}#
RuntimeMemoryKind kind = {RuntimeMemoryKind::kPAGEABLE}#
struct RuntimeTensorProfile#

Public Members

int32_t profileId = {-1}#
nvinfer1::Dims shape = {}#
std::size_t sizeInBytes = {0}#
struct RuntimeTensorDesc#

Immutable linear-binding metadata obtained from engine queries during Initialization.

Public Members

std::string name = {}#
nvinfer1::DataType dataType = {nvinfer1::DataType::kFLOAT}#
nvinfer1::TensorIOMode ioMode = {nvinfer1::TensorIOMode::kNONE}#
std::vector<RuntimeTensorProfile> profiles = {}#
struct RuntimeTensorView#

Both the descriptor and payload outlive this borrowed view.

Public Members

RuntimeTensorDesc const *desc = {nullptr}#
RuntimeMemoryView memory = {}#
struct RuntimeBorrowedResourceRequest#

Stage identifiers use immutable model-definition storage; binding names are owned by the declaration. Stream requests borrow the stage’s explicit main stream.

Public Members

RuntimeResourceKey key = {0}#
RuntimeBorrowedResourceKind kind = {RuntimeBorrowedResourceKind::kIO_BINDING}#
LMStageId stage = {}#
std::size_t resourceSlot = {0}#
std::string binding = {}#
struct ResourceDeclaration#

Public Members

ResourceOwnerId owner = {0}#
std::vector<RuntimeMemoryRequest> memory = {}#
std::vector<RuntimeResourceKey> streams = {}#
std::optional<SafetyContainerStorageRequest> containerStorage = {}#
std::vector<RuntimeBorrowedResourceRequest> borrowed = {}#
std::vector<RuntimeResourceKey> events = {}#
struct RuntimeBorrowedResource#

Public Members

RuntimeTensorView const *tensor = {nullptr}#
cudaStream_t stream = {nullptr}#
SafetyModelLocalData *modelLocalData = {nullptr}#
SafetyStatus trt_edgellm::safety::validateTensorDesc(
RuntimeTensorDesc const &desc
) noexcept#

Checks static profile shapes, byte sizes and duplicate profile IDs without allocation.