Pad and Stack

group NVCV_C_ALGORITHM_PADANDSTACK

Functions

NVCVStatus cvcudaPadAndStackCreate(NVCVOperatorHandle *handle)

Constructs an instance of the pad and stack operator.

Parameters:

handle[out] Where the image instance handle will be written to.

  • Must not be NULL.

Return values:
  • NVCV_ERROR_INVALID_ARGUMENT – Handle is null.

  • NVCV_ERROR_OUT_OF_MEMORY – Not enough memory to create the operator.

  • NVCV_SUCCESS – Operation executed successfully.

NVCVStatus cvcudaPadAndStackSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVImageBatchHandle in, NVCVTensorHandle out, NVCVTensorHandle top, NVCVTensorHandle left, NVCVBorderType borderMode, float borderValue)

Executes the pad and stack operation on the given cuda stream. This operation does not wait for completion.

Limitations:

Input: Data Layout: [kNHWC, kHWC] Channels: [1, 3, 4]

Data Type

Allowed

8bit Unsigned

Yes

8bit Signed

No

16bit Unsigned

Yes

16bit Signed

Yes

32bit Unsigned

No

32bit Signed

Yes

32bit Float

Yes

64bit Float

No

Output: Data Layout: [kNHWC, kHWC] Channels: [1, 3, 4]

Data Type

Allowed

8bit Unsigned

Yes

8bit Signed

No

16bit Unsigned

Yes

16bit Signed

Yes

32bit Unsigned

No

32bit Signed

Yes

32bit Float

Yes

64bit Float

No

Input/Output dependency

 Property      |  Input == Output
-------------- | -------------
 Data Layout   | Yes
 Data Type     | Yes
 Number        | Yes
 Channels      | Yes
 Width         | No
 Height        | No
Top/left Tensors
Must be kNHWC where N=H=C=1 with W = N (N in reference to input and output tensors).
Data Type must be 32bit Signed.

Parameters:
  • handle[in] Handle to the operator.

    • Must not be NULL.

  • stream[in] Handle to a valid CUDA stream.

  • in[in] Input image batch.

  • out[out] Output tensor.

  • top[in] Top tensor to store amount of top padding per batch input image. This tensor is a vector of integers, where the elements are stored in the width of the tensor and the other dimensions are 1, i.e. n=h=c=1.

  • left[in] Left tensor to store amount of left padding per batch input image. This tensor is a vector of integers, where the elements are stored in the width of the tensor and the other dimensions are 1, i.e. n=h=c=1.

  • borderMode[in] Border mode to be used when accessing elements outside input image, cf. NVCVBorderType.

  • borderValue[in] Border value to be used for constant border mode NVCV_BORDER_CONSTANT.

Return values:
  • NVCV_ERROR_INVALID_ARGUMENT – Some parameter is outside valid range.

  • NVCV_ERROR_INTERNAL – Internal error in the operator, invalid types passed in.

  • NVCV_SUCCESS – Operation executed successfully.