---
title: kutacc_af2_outer_product_mean_calc_left_and_right_mul
description: "outer_product_mean中用于计算左右投影的计算函数"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/KunpengHPCKit_developer_138.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/KunpengHPCKit_developer_138.html
indexId: c15f803233495487618c8dcf00eba5fe9cb1d155bc05693bb5f7b5b7a5e39d2e67
---
# kutacc_af2_outer_product_mean_calc_left_and_right_mul

outer_product_mean中用于计算左右投影的计算函数

#### 接口定义

void kutacc_af2_outer_product_mean_calc_left_and_right_mul(kutacc_af2_opm_act_inputs_t *opm_acts_ptr, kutacc_af2_opm_mask_inputs_t *opm_masks_ptr, kutacc_af2_opm_weights_t *opm_weights_ptr);


#### 参数

表1 入参定义

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| opm\_acts\_ptr | kutacc\_af2\_opm\_act\_inputs\_t \* | kutacc\_af2\_opm\_act\_inputs\_t类型的指针，具体数据结构定义见下方表2 kutacc\_af2\_opm\_act\_inputs\_t 数据结构表定义 | 输入 |
| opm\_masks\_ptr | kutacc\_af2\_opm\_mask\_inputs\_t \* | kutacc\_af2\_opm\_mask\_inputs\_t类型的指针，具体数据结构定义见下方表3 kutacc\_af2\_opm\_mask\_inputs\_t 数据结构表定义 | 输入 |
| opm\_weights\_ptr | kutacc\_af2\_opm\_weights\_t \* | kutacc\_af2\_opm\_weights\_t类型的指针，具体数据结构定义见下方表4 kutacc\_af2\_opm\_weights\_t数据结构表定义 | 输入 |


表2 kutacc_af2_opm_act_inputs_t 数据结构表定义

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| n\_seq | int64\_t | 序列数量 | 输入 |
| n\_res | int64\_t | 残基数量 | 输入 |
| input\_act | kutacc\_tensor\_h | 输入激活张量 | 输入 |
| left\_proj | kutacc\_tensor\_h | 左投影 | 输入 |
| right\_proj | kutacc\_tensor\_h | 右投影 | 输入 |
| left\_proj\_ | kutacc\_tensor\_h | 经过掩码处理后的左投影 | 输入 |
| right\_proj\_ | kutacc\_tensor\_h | 经过掩码处理后的右投影 | 输入 |


表3 kutacc_af2_opm_mask_inputs_t 数据结构表定义

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| n\_res\_gather | int64\_t | 聚合后的残基数量 | 输入 |
| mask\_bias | int64\_t | 掩码张量地址偏移量 | 输入 |
| mask | kutacc\_tensor\_h | 掩码张量 | 输入 |
| norm | kutacc\_tensor\_h | 归一化因子张量 | 输入 |


表4 kutacc_af2_opm_weights_t 数据结构表定义

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| c\_m | int64\_t | 输入特征维度 | 输入 |
| c\_i | int64\_t | 投影后的特征维度 | 输入 |
| c\_z | int64\_t | 输出特征维度 | 输入 |
| left\_proj\_w | kutacc\_tensor\_h | 左投影权重 | 输入 |
| left\_proj\_b | kutacc\_tensor\_h | 左投影偏移量 | 输入 |
| right\_proj\_w | kutacc\_tensor\_h | 右投影权重 | 输入 |
| right\_proj\_b | kutacc\_tensor\_h | 右投影偏移量 | 输入 |
| outer\_w | kutacc\_tensor\_h | 输出权重 | 输入 |
| outer\_b | kutacc\_tensor\_h | 输出偏移量 | 输入 |


outer_product_mean整数参数应满足的约束关系：

mask_bias >= 0,

c_i, c_m, n_res, n_res_gather, n_seq > 0,

n_seq * n_res <INT64_MAX

单进程时n_res必须等于n_res_gather，多进程下不满足该条件
