NVIDIA Holoscan SDK v2.4.0
Holoscan v2.4.0

Class PingTensorTxOp

Base Type

class PingTensorTxOp : public holoscan::Operator

Example Tensor transmitter operator.

On each tick, it transmits a single tensor on the “out” port.

This operator is intended for use in test cases and example applications.

==Named Outputs==

  • out : nvidia::gxf::Tensor

    • A generated 1D (H), 2D (HW), 3D (HWC) or 4D (NHWC) tensor (with uninitialized data values). Depending on the parameters set, this tensor can be in system memory, pinned host memory or device memory. Setting batch_size, columns or channels to 0 will omit the corresponding dimension. Notation used: N = batch, H = rows, W = columns, C = channels.

==Parameters==

  • allocator: The memory allocator to use. When not set, a default UnboundedAllocator is used.

  • storage_type: A string indicating where the memory should be allocated. Options are “system” (system/CPU memory), “host” (CUDA pinned host memory) or “device” (GPU memory). The allocator takes care of allocating memory of the indicated type. The default is “system”.

  • batch_size: Size of the batch dimension of the generated tensor. If set to 0, this dimension is omitted. The default is 0.

  • rows: The number of rows in the generated tensor. This dimension must be >= 1. The default is 32.

  • columns: The number of columns in the generated tensor. If set to 0, this dimension is omitted. The default is 64.

  • channels: The number of channels in the generated tensor. If set to 0, this dimension is omitted. The default is 0.

  • data_type_: A string representing the data type for the generated tensor. Must be one of “int8_t”, “int16_t”, “int32_t”, “int64_t”, “uint8_t”, “uint16_t”, “uint32_t”, “uint64_t”, “float”, “double”, “complex<float”, or “complex<double>”. The default is “uint8_t”.

  • tensor_name: The name of the generated tensor. The default name is “tensor”.

==Device Memory Requirements==

When using this operator with a <a class="reference internal" href="classholoscan_1_1BlockMemoryPool.html#classholoscan_1_1BlockMemoryPool" target="_self">BlockMemoryPool</a>, the minimum block_size is (batch_size * rows * columns * channels * element_size_bytes) where element_size_bytes is is the number of bytes for a single element of the specified data_type. Only a single memory block is used.

Public Functions

HOLOSCAN_OPERATOR_FORWARD_ARGS (PingTensorTxOp) PingTensorTxOp()=default
virtual void initialize() override

Initialize the operator.

This function is called when the fragment is initialized by Executor::initialize_fragment().

virtual void setup(OperatorSpec &spec) override

Define the operator specification.

Parameters

spec – The reference to the operator specification.

virtual void compute(InputContext&, OutputContext &op_output, ExecutionContext &context) override

Implement the compute method.

This method is called by the runtime multiple times. The runtime calls this method until the operator is stopped.

Parameters
  • op_input – The input context of the operator.

  • op_output – The output context of the operator.

  • context – The execution context of the operator.

inline nvidia::gxf::PrimitiveType element_type()

Previous Class PingTensorRxOp
Next Class PingTxOp
© Copyright 2022-2024, NVIDIA. Last updated on Oct 1, 2024.