asc_set_vector_mask
产 品 支 持 情 况
| 产 品 | 是 否 支 持 |
|---|---|
| √ | |
| √ |
功 能 说 明
某 些 矢 量 计 算 接 口 需 要 提 前 设 置Mask,提 示 哪 些 数 据 需 要 参 与 计 算。 该API用 于 设 置Mask,使 用 前 需 要 先 调 用asc_set_mask_count和asc_set_mask_norm设 置Mask模 式。在 不 同 的 模 式 下Mask的 含 义 如 下:
- Normal模 式 用 于 高 维 切 分 计 算 类API。该 模 式 下,Mask参 数 用 来 控 制 单 次 迭 代 内 参 与 计 算 的 元 素。可 以 按 位 控 制 哪 些 元 素 参 与 计 算:bit位 的 值 为1表 示 参 与 计 算,0表 示 不 参 与。分 为mask1(高 位Mask)和mask0(低 位Mask)。参 数 取 值 范 围 和 操 作 数 的 数 据 类 型 有 关,数 据 类 型 不 同,每 次 迭 代 内 能 够 处 理 的 元 素 个 数 最 大 值 不 同。当 操 作 数 为16位 时,mask0,mask1∈[0, 2^64-1],并 且 不 同 时 为0;当 操 作 数 为32位 时,mask1为0,mask0∈(0, 2^64-1];当 操 作 数 为64位 时,mask1为0,mask0∈(0, 2^32-1]。
- Counter模 式 用 于 前n个 数 据 计 算 类API。该 模 式 下,Mask参 数 用 于 控 制 整 个 计 算 过 程 中 参 与 计 算 的 元 素 个 数。前n个 数 据 计 算 类 接 口 中 已 经 实 现 了Normal模 式 和Counter模 式 的 转 换,用 户 不 需 要 进 行 自 行 设 置。
函 数 原 型
C++
__aicore__ inline void asc_set_vector_mask(uint64_t mask1, uint64_t mask0)
参 数 说 明
| 参 数 名 | 输 入/输 出 | 描 述 |
|---|---|---|
| mask1 | 输 入 | Normal模 式:高 位mask值。 Counter模 式:需 要 置0,本 入 参 不 生 效。 |
| mask0 | 输 入 | Normal模 式:低 位mask值。 Counter模 式:整 个 矢 量 计 算 过 程 中,参 与 计 算 的 元 素 个 数。 |
返 回 值 说 明
无
流 水 类 型
PIPE_S
约 束 说 明
需 先 调 用asc_set_mask_count或asc_set_mask_norm设 置Mask模 式。