- 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:
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]
- 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 .
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.
- Deterministic computation:
[object Object]defaults to deterministic implementation.
The following example is for reference only. For details, see .