[object Object][object Object][object Object]undefined
[object Object]
  • This API is used to perform matrix multiplication between the tensor self and the tensor mat2. mat2 supports only the NZ format, and self must be 3D and mat2 must be 5D.

  • Formula:

    out=self@mat2out = self@mat2
[object Object]

Each operator has calls. First, aclnnBatchMatMulWeightNzGetWorkspaceSize is called to obtain the input parameters and compute the required workspace size based on the process. Then, aclnnBatchMatMulWeightNz is called to perform computation.

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

    [object Object]
  • Returns:

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

    The first-phase API implements input parameter verification. The following errors may be thrown.

    [object Object]
[object Object]
  • Parameters:

    [object Object]
  • Returns:

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

[object Object]
  • Determinism:

    • The default deterministic implementation of aclnnBatchMatMulWeightNz is used.
  • If one input is BFLOAT16 and the other is FLOAT16, the data type cannot be deduced.

  • self supports only three dimensions, and mat2 supports only the proprietary Ascend format. Before calling this API, you must convert mat2 from the ND format to the proprietary Ascend format.

  • The last two axes of mat2 cannot be 1 (k = 1 or n = 1).

[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 types of self and mat2 are float16. The sample code when mat2 is in NZ format is as follows (for reference only). For details about the compilation and running process, see .

    [object Object]
  • Ascend 950PR/Ascend 950DT: The data types of self and mat2 are float16. The sample code when mat2 is in NZ format is as follows (for reference only). For details about the compilation and running process, see .

    [object Object]