[object Object]

[object Object][object Object]undefined
[object Object]
  • Operator function: Selects elements from [object Object] or [object Object] based on the condition and returns the elements (broadcasting is supported).
  • The formula is as follows:
outi=where(selfi,otheri,conditioni)={selfi,if conditioniotheri,otherwiseout_i=where(self_i,other_i,condition_i)=\begin{cases} self_i, & \text{if condition}_i \\ other_i, & \text{otherwise} \end{cases} [object Object]

Each operator has calls. First, [object Object] is called to obtain the workspace size required for computation and the executor that contains the operator computation process. Then, [object Object] is called to perform computation.

  • [object Object]
  • [object Object]
[object Object]
  • Parameter Description:
    • [object Object] (aclTensor*, computation input): input [object Object] in the formula, which is an aclTensor on the device. The data type can be UINT8 or BOOL. are supported. The shape must meet the broadcast relationship (../common/broadcast_relationship.md) with [object Object] and [object Object]. are supported. The can be ND. The data dimension cannot be greater than 8.

    • [object Object] (aclTensor*, computation input): input [object Object] in the formula. The data type of [object Object] must meet the data type deduction rules with [object Object] (see ). The shape of the aclTensor on the device must meet the with [object Object] and [object Object]. are supported. The can be ND. The data dimension cannot be greater than 8.

      • [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, INT32, UINT64, INT64, UINT32, FLOAT16, UINT16, INT16, INT8, UINT8, DOUBLE, BOOL, COMPLEX64, COMPLEX128, or BFLOAT16.
      • [object Object]Atlas inference products[object Object] and [object Object]Atlas training products[object Object]: The data type can be FLOAT, INT32, UINT64, INT64, UINT32, FLOAT16, UINT16, INT16, INT8, UINT8, DOUBLE, BOOL, COMPLEX64 or COMPLEX128.
    • [object Object] (aclTensor*, computation input): input [object Object] in the formula. The data type of [object Object] must meet the data type deduction rules with [object Object] (see ). The shape of the aclTensor on the device must meet the with [object Object] and [object Object]. are supported. The can be ND. The data dimension cannot be greater than 8.

      • [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, INT32, UINT64, INT64, UINT32, FLOAT16, UINT16, INT16, INT8, UINT8, DOUBLE, BOOL, COMPLEX64, COMPLEX128, or BFLOAT16.
      • [object Object]Atlas inference products[object Object] and [object Object]Atlas training products[object Object]: The data type can be FLOAT, INT32, UINT64, INT64, UINT32, FLOAT16, UINT16, INT16, INT8, UINT8, DOUBLE, BOOL, COMPLEX64 or COMPLEX128.
    • [object Object] (aclTensor *, computation output): output [object Object] in the formula. are supported. It is an aclTensor on the device. The shape must be that after [object Object], [object Object], and [object Object] are broadcast. are supported. The can be ND. The data dimension cannot be greater than 8.

      • [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, INT32, UINT64, INT64, UINT32, FLOAT16, UINT16, INT16, INT8, UINT8, DOUBLE, BOOL, COMPLEX64, COMPLEX128, or BFLOAT16.
      • [object Object]Atlas inference products[object Object] and [object Object]Atlas training products[object Object]: The data type can be FLOAT, INT32, UINT64, INT64, UINT32, FLOAT16, UINT16, INT16, INT8, UINT8, DOUBLE, BOOL, COMPLEX64 or COMPLEX128.
    • [object Object] (uint64_t *, output): size of the workspace to be allocated on the device.

    • [object Object] (aclOpExecutor**, output): operator executor, containing the operator computation process.

  • Returns: [object Object]: status code. For details, see .
[object Object]
[object Object]
  • Parameter Description:

    • [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 the first-phase API [object Object].
    • [object Object] (aclOpExecutor *, input): operator executor, containing 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] defaults to deterministic implementation.
[object Object]

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

[object Object]