holoscan::utils::transmit_data_per_model

Beta
View as Markdown
gxf_result_t holoscan::utils::transmit_data_per_model(
gxf_context_t &cont,
const HoloInfer::MultiMappings &model_to_tensor_map,
HoloInfer::DataMap &input_data_map,
OutputContext &op_output,
std::vector<std::string> &out_tensors,
HoloInfer::DimType &tensor_out_dims_map,
bool cuda_buffer_in,
bool cuda_buffer_out,
const nvidia::gxf::Handle<nvidia::gxf::Allocator> &allocator_,
const std::string &module,
CudaStreamHandler &cuda_stream_handler
)

Transmits multiple buffers via GXF Transmitters.

This version of transmit_data_per_model uses the legacy CudaStreamHandler utility. Use the variant without a cuda_stream_handler argument to use the built-in CudaObjectHandler instead.

Returns: GXF result code

Parameters

cont
gxf_context_t &

GXF context for transmission

model_to_tensor_map
const HoloInfer::MultiMappings &

Map of model name as key, mapped to a vector of tensor names

input_data_map
HoloInfer::DataMap &

Map of tensor name as key, mapped to the data buffer as a vector

op_output
OutputContext &

Output context. Assume that the output port’s name is “transmitter”.

out_tensors
std::vector<std::string> &

Output tensor names

tensor_out_dims_map
HoloInfer::DimType &

Map is updated with model name as key mapped to dimension of output tensor as a vector

cuda_buffer_in
bool

Flag to demonstrate if memory storage of input buffers is on CUDA

cuda_buffer_out
bool

Flag to demonstrate if memory storage of output message is on CUDA

allocator_
const nvidia::gxf::Handle<nvidia::gxf::Allocator> &

GXF Memory allocator

module
const std::string &

Module that called for data transmission

cuda_stream_handler
CudaStreamHandler &

Cuda stream handler