文档
注册

ToFloat

功能说明

bfloat16_t类型标量数据转换成float类型标量数据。

函数原型

__aicore__ inline float ToFloat(const bfloat16_t& bVal)

参数说明

表1 接口参数说明

参数名称

输入/输出

含义

bVal

输入

bfloat16_t类型标量数据

支持的型号

Atlas A2训练系列产品/Atlas 800I A2推理产品

注意事项

返回值

转换后的float类型标量数据。

调用示例

float m = 3.0f;
bfloat16_t n = ToBfloat16(m);
TPipe pipe;
TQue<QuePosition::VECIN, 1> inQueueSrcVecIn;
pipe.InitBuffer(inQueueSrcVecIn, 1, dataLen * sizeof(bfloat16_t));
LocalTensor<bfloat16_t> dstLocal = inQueueSrcVecIn.AllocTensor<bfloat16_t>();
// 输入bfloat16_t类型,做加法运算后,输出bfloat16_t类型tensor
CalcFunc(n, dstLocal, dataLen)
{
    TPipe pipe;
    TQue<QuePosition::VECIN, 1> inQueueSrcVecIn;
    pipe.InitBuffer(inQueueSrcVecIn, 1, dataLen * sizeof(float));
    LocalTensor<float> srcLocal = inQueueSrcVecIn.AllocTensor<float>();
    Duplicate(srcLocal, float(4.0f), dataLen);
    float t = ToFloat(n);// 对标量进行加法,不支持bfloat16_t,需要先转换成float
    Adds(srcLocal, srcLocal, t, dataLen);
    Cast(dstLocal, srcLocal, RoundMode::CAST_ROUND, dataLen);
}
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词