[object Object]

[object Object][object Object]undefined
[object Object]
  • Description: Computes the bitwise XOR between elements in the input tensor [object Object] and the input scalar [object Object]. The input [object Object] and [object Object] must be of the INT or BOOL type. For the BOOL type, the operator computes the logical XOR.
  • Formula:outi=selfiother\text{out}_i = \text{self}_i \, \bigoplus\, \text{other}
[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 the workspace size required for computation and the executor covering the operator computation 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): aclTensor on the device. Its data type can be BOOL, INT8, INT16, INT32, INT64, or UINT8. The data type must follow the type promotion rules with [object Object] (see ). It supports . Its can be ND, and the data dimensions cannot exceed 8.
    • [object Object] (aclScalar*, computation input): aclScalar on the host. Its data type can be BOOL, INT8, INT16, INT32, INT64, or UINT8. The data type must follow the type promotion rules with [object Object] (see ).
    • [object Object] (aclTensor *, computation output): aclTensor on the device. Its data type must be one convertible from the type deduced from [object Object] and [object Object]. Its shape is the same as that of [object Object]. It supports . Its can be ND, and the data dimensions cannot exceed 8.
      • [object Object]Atlas training products[object Object] and [object Object]Atlas inference products[object Object]: The data type can be BOOL, INT8, INT16, INT32, INT64, UINT8, FLOAT, FLOAT16, or DOUBLE.
      • [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 BOOL, INT8, INT16, INT32, INT64, UINT8, FLOAT, FLOAT16, DOUBLE, 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 [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): input/output tensor, that is, [object Object] and [object Object] in the formula. It is an aclTensor on the device. Its data type can be BOOL, INT8, INT16, INT32, INT64, or UINT8. The data type must follow the type promotion rules with [object Object] (see ). A data type inferred from [object Object] and [object Object] must be convertible to the data type of [object Object] itself. It supports . Its can be ND, and the data dimensions cannot exceed 8.
    • [object Object] (aclScalar*, computation input): input scalar, aclScalar on the host. Its data type can be BOOL, INT8, INT16, INT32, INT64, or UINT8. The data type must follow the type promotion rules with [object Object] (see ).
    • [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 [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 .

aclnnBitwiseXorScalar sample code:

[object Object]

aclnnInplaceBitwiseXorScalar sample code:

[object Object]