Note: This API will be deprecated in later versions. Use the latest API aclnnMlaPrologV3WeightNz instead.
Interface function: In inference scenarios, this operator performs the preprocessing computation for Multi-Head Latent Attention. The computation process consists of four paths. First, the input is multiplied by for downsampling and RmsNorm, and then split into two paths. In the first path, and are applied, followed by two upsampling operations to obtain . In the second path, is applied and rotary position encoding (ROPE) is used to obtain . The third path multiplies input by for downsampling and RmsNorm, and the result is stored into the cache to obtain . The fourth path multiplies input by , applies rotary position encoding, and then stores the result into another cache to obtain .
Formula:
RmsNorm formula
The computation formula of the query, including downsampling, RmsNorm, and two upsampling operations.
Performs rotary position encoding (ROPE) to the query.
The computation formula of the key, including downsampling and RmsNorm. The computation result is stored in the cache.
Performs rotary position encoding (ROPE) to the key and stores the result in the cache.
Each operator has calls. First, [object Object] is called to obtain the input parameters and compute the required workspace size based on the process. Then, [object Object] is called to perform computation.
Parameters
[object Object]undefined
Returns:
[object Object]: status code. For details, see .The first-phase API implements input parameter verification. The following errors may be thrown.
[object Object]undefined
Deterministic computing:
[object Object]defaults to deterministic implementation. The details are as follows:
Shape field description
[object Object]undefined
When transposing is not performed, the dimensions of
[object Object],[object Object], and[object Object]are represented as (k, n).The aclnnMlaProlog API supports the following scenarios for A2 and A3:
[object Object]In different quantization scenarios, the combination of dtype and shape of parameters must meet the following conditions:
[object Object][object Object]
The following example is for reference only. For details, see .