数据比较 - 2022.1 简体中文

AI 引擎内核编码 最佳实践指南 (UG1079)

Document ID
UG1079
Release Date
2022-05-25
Version
2022.1 简体中文

AI 引擎 API 提供了矢量比较运算,包括:

  • aie::eq
  • aie::neq
  • aie::le
  • aie::lt
  • aie::ge
  • aie::gt

矢量比较运算会逐一比较两个矢量中的每个元素,或者将一个标量与一个矢量进行比较,然后返回特殊类型 aie::maskaie::mask 的每个位都对应于一个基本比较结果。

aie::vector<int32,16> v1,v2;
aie::mask<16> msk_lt=aie::lt(v1,v2);
msk_lt.set(0);//set bit 0 to be true
aie::vector<int32,16> v_s=aie::select(v1,v2,msk_lt);

以下 API 会对两个输入矢量的所有元素进行比较,并返回 booltruefalse

aie::equal
返回两个输入矢量的所有元素是否相等。这两个矢量的类型和大小必须相同。
aie::not_equal
返回两个输入矢量中的部分元素是否不相等。这两个矢量的类型和大小必须相同。

以下提供的 API 用于逐一选择两个矢量(或一个标量和一个矢量)中每个元素的最大值或最小值。标量和矢量的类型必须相同。

  • aie::max
  • aie::min
aie::vector<int32,16> vc=aie::max(v1,v2); //compare each element of v1,v2, set it to vc