Cast(float转bfloat16_t)
产 品 支 持 情 况
| 产 品 | 是 否 支 持 |
|---|---|
Ascend 950PR/Ascend 950DT | √ |
Atlas A3 训 练 系 列 产 品/Atlas A3 推 理 系 列 产 品 | √ |
Atlas A2 训 练 系 列 产 品/Atlas A2 推 理 系 列 产 品 | √ |
Atlas 200I/500 A2 推 理 产 品 | x |
Atlas 推 理 系 列 产 品AI Core | x |
Atlas 推 理 系 列 产 品Vector Core | x |
Atlas 训 练 系 列 产 品 | x |
功 能 说 明
头 文 件 路 径 为:"basic_api/kernel_operator_scalar_intf.h"。
float类 型 标 量 数 据 转 换 成bfloat16_t类 型 标 量 数 据。
函 数 原 型
C++
__aicore__ inline bfloat16_t Cast(const float& fVal)
参 数 说 明
表 1 参 数 说 明
| 参 数 名 称 | 输 入/输 出 | 描 述 |
|---|---|---|
| fVal | 输 入 | float类 型 标 量 数 据。 |
返 回 值 说 明
转 换 后 的bfloat16_t类 型 标 量 数 据。
约 束 说 明
float到bfloat16_t转 换 采 用CAST_RINT舍 入。
输 入 参 数 为 立 即 数 时,需 要 使 用 显 式 类 型 转 换 后 输 入,例 如:
C++// 错 误 写 法,AscendC暂 不 支 持 整 数 类 型 转bfloat16_t,编 译 报 错 bfloat16_t x = AscendC::Cast(1); // 正 确 写 法 bfloat16_t x = AscendC::Cast((float)1);
调 用 示 例
C++
float m = 3.14159f;
bfloat16_t n = AscendC::Cast(m); // n = 3.140625 float到bfloat16_t进 行 了 舍 入