Computes the outer product of
[object Object]and[object Object]to obtain a two-dimensional matrix, scales this product by a coefficient, and adds the result to [object Object] scaled by another coefficient.Formula:
[object Object]and[object Object]implement the same function in different ways. Select a proper operator based on your requirements.[object Object]: An output tensor object needs to be created to store the computation result.[object Object]: No output tensor object needs to be created, and the computation result is written in place to the input tensor's memory.
Each operator has calls. First,
[object Object]or[object Object]is called to obtain input parameters and compute the required workspace size based on the process. Then,[object Object]or[object Object]is called to perform computation.[object Object][object Object][object Object][object Object]
Parameters:
[object Object](aclTensor*, computation·input): a matrix to be broadcast to the shape of the outer product. It is an aclTensor on the device. Its shape cannot exceed 2 dimensions. The shapes of[object Object],[object Object], and[object Object]must meet the . It supports . Its can be ND.- [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT8, INT16, INT32, INT64, UINT8, or BOOL.
- [object Object]Atlas A2 training products/Atlas A2 inference products[object Object] and [object Object]Atlas A3 training products/Atlas A3 inference products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT8, INT16, INT32, INT64, UINT8, BOOL, or BFLOAT16.
[object Object](aclTensor*, computation input): first input vector (1D) for the outer product, aclTensor on the device. The shapes of[object Object]and[object Object]must meet the . It supports . Its can be ND.- [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT8, INT16, INT32, INT64, UINT8, or BOOL.
- [object Object]Atlas A2 training products/Atlas A2 inference products[object Object] and [object Object]Atlas A3 training products/Atlas A3 inference products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT8, INT16, INT32, INT64, UINT8, BOOL, or BFLOAT16.
[object Object](aclTensor*, computation input): second input vector (1D) for the outer product, aclTensor on the device. The shapes of[object Object]and[object Object]must meet the . It supports . Its can be ND.- [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT8, INT16, INT32, INT64, UINT8, or BOOL.
- [object Object]Atlas A2 training products/Atlas A2 inference products[object Object] and [object Object]Atlas A3 training products/Atlas A3 inference products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT8, INT16, INT32, INT64, UINT8, BOOL, or BFLOAT16.
[object Object](aclScalar*, computation input): scaling factor[object Object]applied to[object Object]. It is an aclScalar on the host. If[object Object]is of the BOOL type,[object Object],[object Object], and[object Object]must be of the BOOL type. If[object Object],[object Object], or[object Object]is an integer,[object Object]or[object Object]cannot be of the floating-point type. Its can be ND.- [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT8, INT16, INT32, INT64, UINT8, or BOOL.
- [object Object]Atlas A2 training products/Atlas A2 inference products[object Object] and [object Object]Atlas A3 training products/Atlas A3 inference products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT8, INT16, INT32, INT64, UINT8, BOOL, or BFLOAT16.
[object Object](aclScalar*, computation input): scaling factor for the outer product extended matrix, corresponding to[object Object]in the formula. It is an aclScalar on the host. If[object Object]is of the BOOL type,[object Object],[object Object], and[object Object]must be of the BOOL type. If[object Object],[object Object], or[object Object]is an integer,[object Object]or[object Object]cannot be of the floating-point type. Its can be ND.- [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT8, INT16, INT32, INT64, UINT8, or BOOL.
- [object Object]Atlas A2 training products/Atlas A2 inference products[object Object] and [object Object]Atlas A3 training products/Atlas A3 inference products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT8, INT16, INT32, INT64, UINT8, BOOL, or BFLOAT16.
[object Object](aclTensor*, computation output): output result, aclTensor on the device. It supports . Its can be ND.- [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT8, INT16, INT32, INT64, UINT8, or BOOL.
- [object Object]Atlas A2 training products/Atlas A2 inference products[object Object] and [object Object]Atlas A3 training products/Atlas A3 inference products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT8, INT16, INT32, INT64, UINT8, BOOL, or BFLOAT16.
[object Object](uint64_t*, output): size of the workspace to be allocated on the device.[object Object](aclOpExecutor**, output): operator executor, covering the operator computation process.
Returns:
Parameters:
[object Object](void *, input): address of the workspace to be allocated on the device.[object Object](uint64_t, input): size of the workspace to be allocated on the device, which is obtained by calling the first-phase API[object Object].[object Object](aclOpExecutor *, input): operator executor, covering the operator computation process.[object Object](aclrtStream, input): stream for executing the task.
Returns:
Parameters:
[object Object](aclTensor*, computation input/output): outer product extended matrix and output matrix, aclTensor on the device. Its shape has two dimensions. Empty tensors are not supported. The shapes of[object Object],[object Object], and[object Object]must meet the . It supports . Its can be ND.- [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT8, INT16, INT32, INT64, UINT8, or BOOL.
- [object Object]Atlas A2 training products/Atlas A2 inference products[object Object] and [object Object]Atlas A3 training products/Atlas A3 inference products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT8, INT16, INT32, INT64, UINT8, BOOL, or BFLOAT16.
[object Object](aclTensor*, computation input): first input vector (1D) for the outer product, aclTensor on the device. The shapes of[object Object]and[object Object]must meet the . It supports . Its can be ND.- [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT8, INT16, INT32, INT64, UINT8, or BOOL.
- [object Object]Atlas A2 training products/Atlas A2 inference products[object Object] and [object Object]Atlas A3 training products/Atlas A3 inference products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT8, INT16, INT32, INT64, UINT8, BOOL, or BFLOAT16.
[object Object](aclTensor*, computation input): second input vector (1D) for the outer product, aclTensor on the device. The shapes of[object Object]and[object Object]must meet the . It supports . Its can be ND.- [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT8, INT16, INT32, INT64, UINT8, or BOOL.
- [object Object]Atlas A2 training products/Atlas A2 inference products[object Object] and [object Object]Atlas A3 training products/Atlas A3 inference products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT8, INT16, INT32, INT64, UINT8, BOOL, or BFLOAT16.
[object Object](aclScalar*, computation input): scaling factor for the outer product extended matrix, corresponding to[object Object]in the formula. It is an aclScalar on the host. If[object Object]is of the BOOL type,[object Object],[object Object], and[object Object]must be of the BOOL type. If[object Object],[object Object], or[object Object]is an integer,[object Object]or[object Object]cannot be of the floating-point type. Its can be ND.- [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT8, INT16, INT32, INT64, UINT8, or BOOL.
- [object Object]Atlas A2 training products/Atlas A2 inference products[object Object] and [object Object]Atlas A3 training products/Atlas A3 inference products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT8, INT16, INT32, INT64, UINT8, BOOL, or BFLOAT16.
[object Object](aclScalar*, computation input): scaling factor for the outer product extended matrix, corresponding to[object Object]in the formula. It is an aclScalar on the host. If[object Object]is of the BOOL type,[object Object],[object Object], and[object Object]must be of the BOOL type. If[object Object],[object Object], or[object Object]is an integer,[object Object]or[object Object]cannot be of the floating-point type. Its can be ND.- [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT8, INT16, INT32, INT64, UINT8, or BOOL.
- [object Object]Atlas A2 training products/Atlas A2 inference products[object Object] and [object Object]Atlas A3 training products/Atlas A3 inference products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT8, INT16, INT32, INT64, UINT8, BOOL, or BFLOAT16.
[object Object](uint64_t*, output): size of the workspace to be allocated on the device.[object Object](aclOpExecutor**, output): operator executor, covering the operator computation process.
Returns:
Parameters:
[object Object](void *, input): address of the workspace to be allocated on the device.[object Object](uint64_t, input): size of the workspace to be allocated on the device, which is obtained by calling the first-phase API[object Object].[object Object](aclOpExecutor *, input): operator executor, covering the operator computation process.[object Object](aclrtStream, input): stream for executing the task.
Returns:
- Deterministic computation:
[object Object]and[object Object]each default to a deterministic implementation.
The following example is for reference only. For details, see .