[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:

    • condition (aclTensor*, compute input): input condition 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 self and other. are supported. The can be ND. The number of data dimensions cannot exceed 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 number of data dimensions cannot exceed 8.

      • [object Object]Atlas A2 training products/Atlas A2 inference products[object Object], [object Object]Atlas A3 training products/Atlas A3 inference products[object Object], and Ascend 950PR/Ascend 950DT: 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 number of data dimensions cannot exceed 8.

      • [object Object]Atlas A2 training products/Atlas A2 inference products[object Object], [object Object]Atlas A3 training products/Atlas A3 inference products[object Object], and Ascend 950PR/Ascend 950DT: 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.
    • out (aclTensor *, output): output out in the formula. are supported. It is an aclTensor on the device. The shape must be that after self, other, and condition are broadcast. are supported. The can be ND. The number of data dimensions cannot exceed 8.

      • [object Object]Atlas A2 training products/Atlas A2 inference products[object Object], [object Object]Atlas A3 training products/Atlas A3 inference products[object Object], and Ascend 950PR/Ascend 950DT: 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.

  • Return value

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

    The first-phase API implements input parameter validation. The following error codes may be returned.

    [object Object]
[object Object]
  • Parameter description:

    [object Object]
  • Return value

    [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]