Add
Function Usage
Image processing algorithms, tensor Add algorithm, supporting float16, float32, and uint8 data types. Asynchronous calling is supported.
It is supported by the Atlas inference product and
For the
The following conditions must be met:
- The input and output tensors must be on the device or DVPP side, and the parameters (stream and data memory) must be on the same device.
- For synchronization, the device where the data memory is located must be the same as the initialized device.
- Handle the issue of out-of-range data type if any.
- The input and output parameters cannot exceed four dimensions, and must match the tensor shapes and types.
- For the Atlas inference product, when the input size is greater than 1080p (1920 x 1080), the compute performance is better than that of cv::add on the CPU.
- For the
Atlas 200I/500 A2 inference product , when the input size is greater than 720p (1280 x 720), the compute performance is better than that of cv::add on the CPU. - For the Atlas inference product, this API supports the inplace operation. That is, the input and output tensors support HW, HWC, or NHWC, and HW of the input and output tensors can be different. However, the shapes of the ROIs involved in the operation must be the same.
ROIs can be reused only by APIs that support inplace. For details about the specified ROIs, see Tensor.
Prototype
1 | APP_ERROR Add(const Tensor &src1, const Tensor &src2, Tensor &dst, AscendStream &stream = AscendStream::DefaultStream()); |
Parameters
Parameter |
Input/Output |
Description |
|---|---|---|
src1 |
Input |
Tensor class, addend, input tensor, supporting float16, float32, and uint8 data types. |
src2 |
Input |
Tensor class, addend, input tensor, supporting float16, float32, and uint8 data types. |
dst |
Output |
Tensor class, output tensor, supporting float16, float32, and uint8 data types. An empty tensor can be passed. If dst is not an empty tensor, call Tensor.Malloc() to allocate memory in advance. |
stream |
Input |
AscendStream type. The default value is AscendStream::DefaultStream(). When the parameter value is the default value, the API calling is a synchronous operation. In other cases, the API calling is an asynchronous operation. |
Response Parameters
Data Structure |
Description |
|---|---|
APP_ERROR |
For details about the returned error codes, see APP_ERROR Description. |