---
title: FaUpdateOperation
description: "| 硬件型号 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendtb/ascendtb_01_0148.html
sourcePath: /source/zh/canncommercial/900/API/ascendtb/ascendtb_01_0148.html
indexId: 6acc6f0931d25e640e2d309b3905c49372a4a16fc85b29d1924022566ea69d2d64
---
# FaUpdateOperation

#### 产品支持情况

| 硬件型号 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | x |
| Atlas A3 推理系列产品 / Atlas A3 训练系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 训练系列产品 | x |
| Atlas 推理系列产品 | x |
| Atlas 200I/500 A2 推理产品 | x |


#### 功能说明

将各SP域PA算子的输出的中间结果lse、attention out两个局部结果更新成全局结果。


#### 定义

```
struct FaUpdateParam {
    enum FaUpdateType {
        DECODE_UPDATE = 0, 
    };
    FaUpdateType faUpdateType = DECODE_UPDATE;
    uint32_t sp = 1;
    uint8_t rsv[64] = {0};
};
```


#### 参数列表

| 成员名称 | 类型 | 默认值 | 取值范围 | 是否必选 | 描述 |
| --- | --- | --- | --- | --- | --- |
| faUpdateType | FaUpdateType | DECODE\_UPDATE | DECODE\_UPDATE | 否 | 指定下标需要执行的操作类型，目前只支持取默认值。 |
| sp | uint32\_t | 1 | [1, 16] | 否 | 序列并行的并行度SP。 |
| rsv[64] | uint8\_t | {0} | [0] | 否 | 预留参数。 |


#### 输入

| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| lse | [sp, batch \* seqLen \* headNum] | float | ND | 各SP域计算的lse。 |
| localout | [sp, batch \* seqLen \* headNum, head\_size] | float | ND | 各SP域计算的output。 |


#### 输出

| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| output | [batch \* seqLen \* headNum, head\_size] | float | ND | 全局的output。 |


#### 约束说明

head_size取值范围为[8, 512]，且必须是8的倍数。
