- Operator function: Performs multiplication computation between the tensor and scalar.
- Formula:
[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,
[object Object]or[object Object]is called to obtain the workspace size required for computation and the executor that contains the operator computation process. Then,[object Object]or[object Object]is called to perform computation.[object Object][object Object][object Object][object Object]
Parameters:
[object Object](const aclTensor *, computation input): input[object Object]in the formula, which is an aclTensor on the device. The shape dimensions cannot be greater than 8. are supported. The can be ND.- [object Object]Atlas inference products[object Object] and [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT32, INT64, INT16, INT8, UINT8, BOOL, COMPLEX128, or COMPLEX64, and must meet the deduction relationship (see ) with
[object Object]. - [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, FLOAT16, DOUBLE, INT32, INT64, INT16, INT8, UINT8, BOOL, COMPLEX128, COMPLEX64, or BFLOAT16, and must meet the deduction relationship (see ) with
[object Object].
- [object Object]Atlas inference products[object Object] and [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT32, INT64, INT16, INT8, UINT8, BOOL, COMPLEX128, or COMPLEX64, and must meet the deduction relationship (see ) with
other (aclScalar *, computation input): input
[object Object]in the formula, which is an aclScalar on the host.- [object Object]Atlas inference products[object Object] and [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT32, INT64, INT16, INT8, UINT8, BOOL, COMPLEX128, or COMPLEX64, and must meet the deduction relationship (see ) with
[object Object]. - [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, FLOAT16, DOUBLE, INT32, INT64, INT16, INT8, UINT8, BOOL, COMPLEX128, COMPLEX64, or BFLOAT16, and must meet the deduction relationship (see ) with
[object Object].
- [object Object]Atlas inference products[object Object] and [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT32, INT64, INT16, INT8, UINT8, BOOL, COMPLEX128, or COMPLEX64, and must meet the deduction relationship (see ) with
[object Object](aclTensor *, computation output): output[object Object]in the formula, which is an aclTensor on the device. The shape is the same as that of the input[object Object]. are supported. The can be ND. The data type must be convertible from that after[object Object]and[object Object]are deduced. For details, see .- [object Object]Atlas inference products[object Object] and [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT32, INT64, INT16, INT8, UINT8, BOOL, COMPLEX128, or COMPLEX64.
- [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, FLOAT16, DOUBLE, INT32, INT64, INT16, INT8, UINT8, BOOL, COMPLEX128, COMPLEX64, 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:
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 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:
Parameters:
[object Object](aclTensor *, computation input | computation output): input and output tensor, that is,[object Object]and[object Object]in the formula. It is the aclTensor on the device. are supported. The can be ND.- [object Object]Atlas inference products[object Object] and [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT32, INT64, INT16, INT8, UINT8, BOOL, COMPLEX128, or COMPLEX64, and must meet the deduction relationship (see ) with
[object Object]. - [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, FLOAT16, DOUBLE, INT32, INT64, INT16, INT8, UINT8, BOOL, COMPLEX128, COMPLEX64, or BFLOAT16, and must meet the deduction relationship (see ) with
[object Object].
- [object Object]Atlas inference products[object Object] and [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT32, INT64, INT16, INT8, UINT8, BOOL, COMPLEX128, or COMPLEX64, and must meet the deduction relationship (see ) with
[object Object](aclScalar *, computation input): input <idp:inline displayname="code" id="code17858186219">other[object Object] in the formula, which is an aclScalar on the host.- [object Object]Atlas inference products[object Object] and [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT32, INT64, INT16, INT8, UINT8, BOOL, COMPLEX128, or COMPLEX64, and must meet the deduction relationship (see ) with
[object Object]. - [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, FLOAT16, DOUBLE, INT32, INT64, INT16, INT8, UINT8, BOOL, COMPLEX128, COMPLEX64, or BFLOAT16, and must meet the deduction relationship (see ) with
[object Object].
- [object Object]Atlas inference products[object Object] and [object Object]Atlas training products[object Object]: The data type can be FLOAT, FLOAT16, DOUBLE, INT32, INT64, INT16, INT8, UINT8, BOOL, COMPLEX128, or COMPLEX64, and must meet the deduction relationship (see ) with
[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:
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 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:
Deterministic computing:
[object Object]defaults to a deterministic implementation.
When
[object Object]is of the float type, there is no precision loss. When[object Object]is of the int32 or int64 type, precision loss may occur if the value of[object Object]is greater than 2^24. In this case, is recommended.
The following example is for reference only. For details, see .
aclnnMuls sample code:
aclnnInplaceMuls sample code: