Skip to content

Reg矢量计算接口软仿情况汇总

本节汇总介绍了Reg矢量计算接口软仿数据类型的情况,本节内容仅针对如下型号生效:

Ascend 950PR/Ascend 950DT

Reg数据搬入Reg数据搬出目录下提供了UB与RegTensor、UB与MaskReg之间的数据搬运接口。

UB与RegTensor之间的数据搬运根据操作数的数据类型位宽来搬运,与数据类型本身无关,表1和表2列出的软仿支持的数据类型包括以下情况:

  • 底层硬件不支持该数据类型,通过其他位宽相同的数据类型支持的搬运指令实现。
  • 底层硬件不支持该数据类型,通过多种接口组合软仿实现。
  • 底层硬件不支持该数据类型,通过双搬入/双搬出模式软仿实现RegTraitNumTwo的数据类型。

表1 Reg数据搬入

接口软仿支持数据类型
连续对齐搬入(LoadAlign)bool、complex32、int64_t、uint64_t、complex64
非连续对齐搬入(LoadAlign)bool、complex32
连续非对齐搬入(LoadUnAlign)bool、complex32、int64_t、uint64_t、complex64
MaskReg搬入(LoadAlign)-
MaskReg搬入(MaskGenWithRegTensor)-
离散搬入(Gather)int64_t、uint64_t
离散搬入(GatherB)-
Loadbool、complex32、int64_t、uint64_t、complex64
Movebool、int64_t、uint64_t、complex64

表2 Reg数据搬出

接口软仿支持数据类型
连续对齐搬出(StoreAlign)bool、complex32、int64_t、uint64_t、complex64
非连续对齐搬出(StoreAlign)bool、complex32
连续非对齐搬出(StoreUnAlign)bool、complex32、int64_t、uint64_t、complex64
MaskReg搬出(StoreAlign)-
MaskReg非对齐搬出(StoreUnAlign)-
离散搬出(Scatter)int64_t、uint64_t
Storebool、complex32、int64_t、uint64_t、complex64

表3 基础算术

接口软仿支持数据类型
Exphalf(SubNormal)、float(SubNormal)
Sqrthalf(SubNormal)、float(SubNormal)
Addcomplex32、int64_t、uint64_t、complex64
AddC-
Subcomplex32、int64_t、uint64_t、complex64
SubC-
Addscomplex32、int64_t、uint64_t、complex64
Maxint64_t、uint64_t
Minint64_t、uint64_t
Maxsint64_t、uint64_t
Minsint64_t、uint64_t
Divint16_t、uint16_t、half(SubNormal)、int32_t、uint32_t、float(SubNormal)、complex32、int64_t、uint64_t、complex64
Negint64_t
Lnhalf(SubNormal)、float(SubNormal)
Loghalf(SubNormal)、float(SubNormal)
Log2half、float
Log10half、float
Mulcomplex32、int64_t、uint64_t、complex64
Mull-
Mulscomplex32、int64_t、uint64_t、complex64
Abscomplex32、int64_t、complex64
Reluint64_t
Prelu-
LeakyRelu-

表4 逻辑计算

接口软仿支持数据类型
Notint64_t、uint64_t
Andint64_t、uint64_t
Orint64_t、uint64_t
Xorint64_t、uint64_t
ShiftLeftint64_t、uint64_t
ShiftRightint64_t、uint64_t
ShiftLeftsint64_t、uint64_t
ShiftRightsint64_t、uint64_t

表5 复合计算

接口软仿支持数据类型
AbsSubint64_t
ExpSub-
Axpyint64_t、uint64_t
MulDstAdd-
MulAddDstint64_t、uint64_t
MulsCast-

表6 比较与选择

接口软仿支持数据类型
Compare-
Compares-
Selectbool、int64_t、uint64_t
Squeeze-

表7 类型转换

接口软仿支持数据类型
Caste8m02bf16、bf162e8m0
Truncate-

表8 归约计算

接口软仿支持数据类型
Reduceint64_t、uint64_t
ReduceDataBlock-
PairReduceElem-

表9 数据填充

接口软仿支持数据类型
Duplicatebool、fp4x2_e2m1_t、fp4x2_e1m2_t、hifloat8_t、fp8_e8m0_t、fp8_e5m2_t、fp8_e4m3fn_t、complex32、int64_t、uint64_t、complex64

表10 离散操作

接口软仿支持数据类型
Gather-

表11 数据重排

接口软仿支持数据类型
Interleaveint64_t、uint64_t
DeInterleaveint64_t、uint64_t

表12 数据压缩

接口软仿支持数据类型
Unsqueeze-
Pack-
UnPack-

表13 直方图计算

接口软仿支持数据类型
Histograms-

表14 索引操作

接口软仿支持数据类型
Arangeint64_t

表15 同步控制

接口软仿支持数据类型
LocalMemBar-

表16 系统变量访问

接口软仿支持数据类型
ClearSpr-
GetSpr-

免责声明:本站内容由 asc-devkit 仓 master 分支自动编译生成,属于持续开发版本,可能存在缺陷,仅供预览与参考。如需稳定及商用资料,请查阅官方 昇腾社区