[object Object]

[object Object][object Object]undefined
[object Object]
  • Description: Computes the logarithm with the base of 2.

  • Formula:

    outputi=log2(selfi)output_i=log_2(self_i)
[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 stored in the memory of the input tensor.
  • Each operator has calls. First, aclnnLog2GetWorkspaceSize or aclnnInplaceLog2GetWorkspaceSize is called to obtain the workspace size required for computation and the executor that contains the operator computation process. Then, aclnnLog2 or aclnnInplaceLog2 is called to perform computation.

    • [object Object]
    • [object Object]
    • [object Object]
    • [object Object]
[object Object]
  • Parameters:

    • [object Object] (aclTensor*, compute input): aclTensor on the device. It supports 1 to 8 dimensions. are supported. The supports ND.
      • [object Object]Atlas inference products[object Object] and [object Object]Atlas training products[object Object]: The data type can be INT8, INT16, INT32, INT64, UINT8, BOOL, FLOAT, FLOAT16, DOUBLE, COMPLEX64, or COMPLEX128.
      • [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 INT8, INT16, INT32, INT64, UINT8, BOOL, BFLOAT16, FLOAT, FLOAT16, DOUBLE, COMPLEX64, or COMPLEX128.
    • [object Object] (aclTensor*, compute output): aclTensor on the device. It supports 1 to 8 dimensions. If self is a complex number, out must be a complex number. The supports ND.
      • [object Object]Atlas inference products[object Object] and [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, COMPLEX64, or COMPLEX128.
      • [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 BFLOAT16, FLOAT, FLOAT16, DOUBLE, COMPLEX64, or COMPLEX128.
    • [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 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]
  • Parameters:

    • [object Object] (aclTensor*, compute input | compute output): input and output tensor, supporting 1 to 8 dimensions, that is, self and out in the formula. are supported. The supports ND. selfRef is also the output result.
      • [object Object]Atlas inference products[object Object] and [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, COMPLEX64, or COMPLEX128.
      • [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 BFLOAT16, FLOAT, FLOAT16, DOUBLE, COMPLEX64, or COMPLEX128.
    • [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 the first-phase API aclnnInplaceLog2GetWorkspaceSize.
    • [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] and [object Object] default to deterministic implementation.
[object Object]

The following examples are for reference only. For details, see .

Sample code of aclnnLog2:

[object Object]

Sample code of aclnnInplaceLog2:

[object Object]