[object Object]

[object Object][object Object]undefined
[object Object]
  • 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:

    out=β self+α (vec1vec2)\text{out} = \beta\ \text{self} + \alpha\ (\text{vec1} \otimes\text{vec2})
[object Object]
  • [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]
[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:

    [object Object]: status code. For details, see .

[object Object]
[object Object]
  • 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:

    [object Object]: status code. For details, see .

[object Object]
  • 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:

    [object Object]: status code. For details, see .

[object Object]
[object Object]
  • 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:

    [object Object]: status code. For details, see .

[object Object]
  • Deterministic computation:
    • [object Object] and [object Object] each default to a deterministic implementation.
[object Object]

The following example is for reference only. For details, see .

[object Object]