---
title: InitSocState
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendcopapi/atlasascendc_api_07_00094.html
sourcePath: /source/zh/canncommercial/900/API/ascendcopapi/atlasascendc_api_07_00094.html
indexId: f900a4977e50f40548641c6b6d10bc3d17d24517f0e1b430596656486ee4343e77
---
# InitSocState

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | x |
| Atlas 推理系列产品 AI Core | √ |
| Atlas 推理系列产品 Vector Core | √ |
| Atlas 训练系列产品 | x |


#### 功能说明

由于AI Core上存在一些全局状态，如原子累加状态、Mask模式等，在实际运行中，这些值可以被前序执行的算子修改而导致计算出现不符合预期的行为，在静态Tensor编程(https://www.hiascend.comdocument/detail/zh/canncommercial/900/programug/Ascendcopdevg/atlas_ascendc_10_00019.html)的场景中用户必须在Kernel入口处调用此函数来初始化AI Core状态 。


#### 函数原型

```
__aicore__ inline void InitSocState()
```


#### 参数说明

无


#### 返回值说明

无


#### 约束说明

不调用该接口，在部分场景下可能导致计算结果出现精度错误或者卡死等问题。


#### 调用示例

```
extern "C" __global__ __aicore__ void add_custom(GM_ADDR x, GM_ADDR y, GM_ADDR z)
{
    // 初始化全局状态寄存器（在TPipe框架编程中，初始化过程由TPipe完成，无需开发者关注；静态Tensor编程方式中需要开发者手动调用）
    AscendC::InitSocState();
    KernelAdd op;
    op.Init(x, y, z);
    op.Process(); 
}
```
