Skip to content

C-API-Reg矢量计算接口理论性能汇总

本节汇总介绍了C-API Reg矢量计算接口的理论性能,本节内容仅针对如下型号生效:

Ascend 950PR/Ascend 950DT

本节汇总的理论性能均为单指令理论性能,软仿实现的接口和数据类型不提供理论性能。

表1 基础算术

接口源操作数数据类型目的操作数数据类型理论并行度(element/cycle)
asc_absint8_tint8_t128
asc_absint16_tint16_t64
asc_abshalfhalf128
asc_absint32_tint32_t32
asc_absfloatfloat64
asc_add_scalarint8_tint8_t128
asc_add_scalaruint8_tuint8_t128
asc_add_scalarint16_tint16_t64
asc_add_scalaruint16_tuint16_t64
asc_add_scalarhalfhalf64
asc_add_scalarbfloat16_tbfloat16_t64
asc_add_scalarint32_tint32_t32
asc_add_scalaruint32_tuint32_t32
asc_add_scalarfloatfloat32
asc_lnhalfhalf16
asc_lnfloatfloat16
asc_max_scalarint8_tint8_t256
asc_max_scalaruint8_tuint8_t256
asc_max_scalarint16_tint16_t128
asc_max_scalaruint16_tuint16_t128
asc_max_scalarhalfhalf128
asc_max_scalarbfloat16_tbfloat16_t128
asc_max_scalarint32_tint32_t64
asc_max_scalaruint32_tuint32_t64
asc_max_scalarfloatfloat64
asc_min_scalarint8_tint8_t256
asc_min_scalaruint8_tuint8_t256
asc_min_scalarint16_tint16_t128
asc_min_scalaruint16_tuint16_t128
asc_min_scalarhalfhalf128
asc_min_scalarint32_tint32_t64
asc_min_scalaruint32_tuint32_t64
asc_min_scalarfloatfloat64
asc_mul_scalarint16_tint16_t64
asc_mul_scalaruint16_tuint16_t64
asc_mul_scalarhalfhalf128
asc_mul_scalarint32_tint32_t32
asc_mul_scalaruint32_tuint32_t32
asc_mul_scalarfloatfloat64
asc_negint8_tint8_t128
asc_negint16_tint16_t64
asc_neghalfhalf128
asc_negint32_tint32_t32
asc_negfloatfloat64
asc_reluhalfhalf128
asc_reluint32_tint32_t64
asc_relufloatfloat64

表2 逻辑算术

接口源操作数数据类型目的操作数数据类型理论并行度(element/cycle)
asc_andboolbool128
asc_andint8_tint8_t256
asc_anduint8_tuint8_t256
asc_andfp8_e5m2_tfp8_e5m2_t256
asc_andfp8_e4m3fn_tfp8_e4m3fn_t256
asc_andint16_tint16_t128
asc_anduint16_tuint16_t128
asc_andhalfhalf128
asc_andbfloat16_tbfloat16_t128
asc_andint32_tint32_t64
asc_anduint32_tuint32_t64
asc_andfloatfloat64
asc_orboolbool128
asc_orint8_tint8_t256
asc_oruint8_tuint8_t256
asc_orint16_tint16_t128
asc_oruint16_tuint16_t128
asc_orhalfhalf128
asc_orbfloat16_tbfloat16_t128
asc_orint32_tint32_t64
asc_oruint32_tuint32_t64
asc_orfloatfloat64

表3 复合计算

接口源操作数数据类型目的操作数数据类型理论并行度(element/cycle)
asc_abs_subhalfhalf128
asc_abs_subfloatfloat64
asc_axpyhalfhalf128
asc_axpyfloatfloat64

表4 比较与选择

接口源操作数数据类型目的操作数数据类型理论并行度(element/cycle)
asc_eqint8_tbool256
asc_equint8_tbool256
asc_eqint16_tbool128
asc_equint16_tbool128
asc_eqhalfbool128
asc_eqbfloat16_tbool128
asc_eqint32_tbool64
asc_equint32_tbool64
asc_eqfloatbool64
asc_geint8_tbool256
asc_geuint8_tbool256
asc_geint16_tbool128
asc_geuint16_tbool128
asc_gehalfbool128
asc_gebfloat16_tbool128
asc_geint32_tbool64
asc_geuint32_tbool64
asc_gefloatbool64
asc_ge_scalarint8_tbool256
asc_ge_scalaruint8_tbool256
asc_ge_scalarint16_tbool128
asc_ge_scalaruint16_tbool128
asc_ge_scalarhalfbool128
asc_ge_scalarbfloat16_tbool128
asc_ge_scalarint32_tbool64
asc_ge_scalaruint32_tbool64
asc_ge_scalarfloatbool64
asc_gtint8_tbool256
asc_gtuint8_tbool256
asc_gtint16_tbool128
asc_gtuint16_tbool128
asc_gthalfbool128
asc_gtbfloat16_tbool128
asc_gtint32_tbool64
asc_gtuint32_tbool64
asc_gtfloatbool64
asc_gt_scalarint8_tbool256
asc_gt_scalaruint8_tbool256
asc_gt_scalarint16_tbool128
asc_gt_scalaruint16_tbool128
asc_gt_scalarhalfbool128
asc_gt_scalarbfloat16_tbool128
asc_gt_scalarint32_tbool64
asc_gt_scalaruint32_tbool64
asc_gt_scalarfloatbool64
asc_ltint8_tbool256
asc_ltuint8_tbool256
asc_ltint16_tbool128
asc_ltuint16_tbool128
asc_lthalfbool128
asc_ltbfloat16_tbool128
asc_ltint32_tbool64
asc_ltuint32_tbool64
asc_ltfloatbool64
asc_neint8_tbool256
asc_neuint8_tbool256
asc_neint16_tbool128
asc_neuint16_tbool128
asc_nehalfbool128
asc_nebfloat16_tbool128
asc_neint32_tbool64
asc_neuint32_tbool64
asc_nefloatbool64
asc_ne_scalarint8_tbool256
asc_ne_scalaruint8_tbool256
asc_ne_scalarint16_tbool128
asc_ne_scalaruint16_tbool128
asc_ne_scalarhalfbool128
asc_ne_scalarbfloat16_tbool128
asc_ne_scalarint32_tbool64
asc_ne_scalaruint32_tbool64
asc_ne_scalarfloatbool64
asc_selectboolbool256
asc_selectint8_tint8_t256
asc_selectuint8_tuint8_t256
asc_selecthifloat8_thifloat8_t256
asc_selectfp8_e5m2_tfp8_e5m2_t256
asc_selectfp8_e4m3fn_tfp8_e4m3fn_t256
asc_selectint16_tint16_t128
asc_selectuint16_tuint16_t128
asc_selecthalfhalf128
asc_selectbfloat16_tbfloat16_t128
asc_selectint32_tint32_t64
asc_selectuint32_tuint32_t64
asc_selectfloatfloat64

表5 类型转换

接口源操作数数据类型目的操作数数据类型理论并行度(element/cycle)
asc_int322floatint32_tfloat32
asc_int322int16int32_tint16_t64
asc_int322int64int32_tint64_t32
asc_int322uint16int32_tuint16_t64

表6 归约计算

接口源操作数数据类型目的操作数数据类型理论并行度(element/cycle)
asc_reduce_maxint16_tint16_t128
asc_reduce_maxuint16_tuint16_t128
asc_reduce_maxhalfhalf128
asc_reduce_maxint32_tint32_t64
asc_reduce_maxuint32_tuint32_t64
asc_reduce_maxfloatfloat64
asc_reduce_max_datablockint16_tint16_t128
asc_reduce_max_datablockuint16_tuint16_t128
asc_reduce_max_datablockhalfhalf128
asc_reduce_max_datablockint32_tint32_t64
asc_reduce_max_datablockuint32_tuint32_t64
asc_reduce_max_datablockfloatfloat64
asc_reduce_minint16_tint16_t128
asc_reduce_minuint16_tuint16_t128
asc_reduce_minhalfhalf128
asc_reduce_minint32_tint32_t64
asc_reduce_minuint32_tuint32_t64
asc_reduce_minfloatfloat64
asc_reduce_min_datablockint16_tint16_t128
asc_reduce_min_datablockuint16_tuint16_t128
asc_reduce_min_datablockhalfhalf128
asc_reduce_min_datablockint32_tint32_t64
asc_reduce_min_datablockuint32_tuint32_t64
asc_reduce_min_datablockfloatfloat64
asc_reduce_sumint16_tint32_t64
asc_reduce_sumuint16_tuint32_t64
asc_reduce_sumhalfhalf128
asc_reduce_sumint32_tint32_t64
asc_reduce_sumuint32_tuint32_t64
asc_reduce_sumfloatfloat64
asc_reduce_sum_datablockint16_tint32_t64
asc_reduce_sum_datablockuint16_tuint32_t64
asc_reduce_sum_datablockhalfhalf128
asc_reduce_sum_datablockint32_tint32_t64
asc_reduce_sum_datablockuint32_tuint32_t64
asc_reduce_sum_datablockfloatfloat64

表7 直方图计算

接口源操作数数据类型目的操作数数据类型理论并行度(element/cycle)
asc_cumulative_histogram_bin0uint8_tuint16_t64
asc_cumulative_histogram_bin1uint8_tuint16_t64

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