---
title: 高阶API迁移指导
description: "Ascend C高阶API基本兼容351x架构与220x架构，部分API进行了扩展。当前351x架构不支持卷积计算类高阶API。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/programug/Ascendcopdevg/atlas_ascendc_compatibility_10_00006.html
sourcePath: /source/zh/canncommercial/900/programug/Ascendcopdevg/atlas_ascendc_compatibility_10_00006.html
indexId: aab3c4702ce455e26ce07404022f932186708b2ef178ef5a0abbaab5a5ef658295
---
# 高阶API迁移指导

Ascend C高阶API基本兼容351x架构与220x架构，部分API进行了扩展。当前351x架构不支持卷积计算类高阶API。

#### Matmul类高阶API

- 支持的数据类型有变化。
**表1 数据类型兼容性情况**

| A矩阵 | B矩阵 | Bias矩阵 | C矩阵 | 说明 |
| --- | --- | --- | --- | --- |
| int4b\_t | int4b\_t | int32\_t | int32\_t、half | 351x架构不支持。 |
| fp8\_e4m3fn\_t、fp8\_e5m2\_t | fp8\_e4m3fn\_t、fp8\_e5m2\_t | float、half、bfloat16\_t | fp8\_e4m3fn\_t、half、bfloat16\_t、float | 351x架构新增。 |
| hifloat8\_t | hifloat8\_t | float、half、bfloat16\_t | hifloat8\_t、half、bfloat16\_t、float | 351x架构新增。 |
| float | float | bfloat16\_t | float、half、bfloat16\_t | 351x架构新增。 |
| bfloat16\_t | bfloat16\_t | bfloat16\_t | float、half、bfloat16\_t | 351x架构新增。 |
| half | half | bfloat16\_t | float、half、bfloat16\_t | 351x架构新增。 |
| int8\_t | int8\_t | int32\_t | bfloat16\_t | 351x架构新增。 |


- 不支持4:2稀疏特性。具体兼容方案请参考  4：2结构化稀疏功能
。


#### 其它高阶API


**表2 数学计算**

| AscendC 高阶API | 兼容说明 |
| --- | --- |
| Tanh、Asin、Sin、Acos、Cos、Log、Atan、Fmod | 兼容220x架构。 扩展支持算法配置，通过模板参数配置API使用的算法，从而提供高精度、高性能的算法选择。 |
| Sinh、Cosh、Tan、Trunc、Frac、Erf、Erfc、Atanh、Asinh、 Acosh、Floor、Ceil、Round、Axpy、Exp、Lgamma、Digamma、Xor、Cumsum | 兼容220x架构。 |
| Power | 兼容220x架构。 扩展支持uint8\_t、int8\_t、uint16\_t、int16\_t、uint32\_t、bfloat16\_t数据类型。 |
| Sign | 兼容220x架构。 扩展支持int64\_t数据类型。 |


**表3 激活函数**

| AscendC 高阶API | 兼容说明 |
| --- | --- |
| SoftMax、SimpleSoftMax、SoftmaxFlash、SoftmaxGrad、SoftmaxFlashV2、SoftmaxFlashV3、SoftmaxGradFront、AdjustSoftMaxRes、LogSoftMax、FasterGelu、FasterGeluV2、Gelu、SwiGLU、Silu、Swish、GeGLU、ReFlu、Sigmoid | 兼容220x架构。 |


**表4 数据归一化**

| AscendC 高阶API | 兼容说明 |
| --- | --- |
| LayerNormGrad、LayerNormGradBeta、RmsNorm、BatchNorm、DeepNorm、GroupNorm | 兼容220x架构。 |
| Normalize、WelfordUpdate | 兼容220x架构。 扩展支持bfloat16\_t数据类型。 |
| LayerNorm | 兼容220x架构。 扩展支持求方差。 |
| WelfordFinalize | 兼容220x架构。 扩展支持算法配置，通过模板参数指定在计算方差时是否使用修正系数。 |


**表5 量化操作**

| AscendC 高阶API | 兼容说明 |
| --- | --- |
| AscendQuant | 兼容220x架构。 扩展支持PRE\_TOKEN量化、PRE\_GROUP量化。 扩展支持从half、bfloat16\_t、float类型到fp8\_e5m2\_t、fp8\_e4m3fn\_t、hifloat8\_t、int8\_t类型的量化。 扩展支持从half、bfloat16\_t类型到fp4x2\_e1m2\_t、fp4x2\_e2m1\_t类型的量化。 |
| AscendDequant | 兼容220x架构。 扩展支持PRE\_TOKEN量化、PRE\_GROUP量化。 扩展支持从int32\_t类型到half、bfloat16\_t、float类型反量化。 扩展支持从float类型到half、bfloat16\_t、float类型的反量化。 |
| AscendAntiQuant | 兼容220x架构。 扩展支持PRE\_TOKEN量化、PRE\_GROUP量化。 扩展支持从int8\_t、hifloat8\_t、fp8\_e5m2\_t、fp8\_e4m3fn\_t类型到half、bfloat16\_t、float、half类型的伪量化。 扩展支持从fp4x2\_e1m2\_t、fp4x2\_e2m1\_t类型到half、bfloat16\_t类型的伪量化。 |


**表6 归约操作**

| AscendC 高阶API | 兼容说明 |
| --- | --- |
| Sum、Mean、ReduceXorSum、ReduceMean、ReduceAny、ReduceAll、ReduceProd | 兼容220x架构。 |
| ReduceSum | 兼容220x架构。 扩展支持int32\_t、uint32\_t、int64\_t、uint64\_t数据类型。 |
| ReduceMax、ReduceMin | 兼容220x架构。 扩展支持int8\_t、uint8\_t、int16\_t、uint16\_t、bfloat16\_t、int32\_t、uint32\_t、int64\_t、uint64\_t数据类型。 |


**表7 排序操作**

| AscendC 高阶API | 兼容说明 |
| --- | --- |
| Concat、Extract、GetSortOffset、GetSortLen、MrgSort | 兼容220x架构。 |
| TopK | 兼容220x架构。 使用RADIX\_SELECT算法时，扩展支持uint8\_t、int8\_t、uint16\_t、int16\_t、uint32\_t、int32\_t、bfloat16\_t、uint64\_t、int64\_t数据类型。 |
| Sort | 兼容220x架构。 扩展支持算法配置，通过模板参数指定排序算法以及降序升序排序。 |


**表8 索引计算**

| AscendC 高阶API | 兼容说明 |
| --- | --- |
| Arange | 兼容220x架构。 扩展支持int64\_t数据类型。 |


**表9 数据过滤**

| AscendC 高阶API | 兼容说明 |
| --- | --- |
| Select | 兼容220x架构。 |
| DropOut | 兼容220x架构。 扩展支持bfloat16\_t数据类型。 |


**表10 张量变换**

| AscendC 高阶API | 兼容说明 |
| --- | --- |
| Transpose | 兼容220x架构。 新增支持数据排布转换场景： 二维转置或者三维的后两位转置。 三维中的第一维和第二维互换。 三维中的第一维和第三维互换。 使用交织指令对二维ND2NZ转置。 |
| TransData、Pad、UnPad | 兼容220x架构。 |
| BroadCast | 兼容220x架构。 扩展支持动态Shape。 扩展支持int16\_t、uint16\_t、bfloat16\_t、int32\_t、uint32\_t数据类型。 |
| Fill | 兼容220x架构。 扩展支持uint8\_t、int8\_t、bfloat16\_t、uint64\_t、int64\_t数据类型。 |


**表11 Hccl**

| AscendC 高阶API | 兼容说明 |
| --- | --- |
| Hccl模板参数 | 支持HCCL\_SERVER\_TYPE\_CCU服务端类型。 |
| InitV2、SetCcTilingV2、AllReduce、AllGather、ReduceScatter、AlltoAll、AlltoAllV、Commit、Wait、Finalize | 兼容220x架构。 |
| BatchWrite、iterate、Query、InterHcclGroupSync、GetWindowsInAddr、GetWindowsOutAddr、GetRankId、GetRankDim、QueueBarrier、GetQueueNum | 351x架构暂不支持。 |
| SetReduceType、AlltoAllvWrite | 351x架构新增。 |
