Cast【免费下载链接】atvossATVOSSAscend C Templates for Vector Operator Subroutines是一套基于Ascend C开发的Vector算子库致力于为昇腾硬件上的Vector类融合算子提供极简、高效、高性能、高拓展的编程方式。项目地址: https://gitcode.com/cann/atvoss功能说明数据类型转换运算。所属头文件链接/include/operators/math_expression.h函数原型templateCastMode castMode, typename R, typename T struct OpCast : UnaryOpT, typename ReplaceTensorTypetypename T::TensorType, R::Type templateCastMode castMode CastMode::CAST_ROUND, typename R, typename T __host_aicore__ constexpr auto Cast(ExpressionT lhs) templateCastMode castMode CastMode::CAST_ROUND, typename R, typename T __host_aicore__ constexpr auto Cast(T lhs)参数说明参数名称参数类型输入/输出数据类型参数说明默认值castMode模板参数输入NACast操作支持的模式CastMode::CAST_ROUNDR模板参数输入NACast操作目标数据类型NAT模板参数输入NACast操作原始数据类型NAlhs函数形参输入NACast操作数当类型是ExpressionT时是张量当类型是T时是标量NA返回值说明返回值数据类型返回值说明Expression 返回一个OpCast的表达式约束说明NA使用示例template typename InputDtype, typename OutputDtype struct Config { struct Compute { template template typename class Tensor __host_aicore__ constexpr auto Compute() const { auto in Atvoss::PlaceHolder1, TensorInputDtype, Atvoss::ParamUsage::IN(); auto out Atvoss::PlaceHolder2, TensorOutputDtype, Atvoss::ParamUsage::OUT(); // 使用示例 return (out CastCastMode::CAST_ROUND, OutputDtype(in)); // 使用示例 }; }; }; template typename InputDtype, typename OutputDtype struct Config { struct Compute { template template typename class Tensor __host_aicore__ constexpr auto Compute() const { auto scalar Atvoss::PlaceHolder1, InputDtype, Atvoss::ParamUsage::IN(); auto out Atvoss::PlaceHolder2, TensorOutputDtype, Atvoss::ParamUsage::OUT(); // 使用示例 return (out CastCastMode::CAST_ROUND, OutputDtype(scalar)); // 使用示例 }; }; };【免费下载链接】atvossATVOSSAscend C Templates for Vector Operator Subroutines是一套基于Ascend C开发的Vector算子库致力于为昇腾硬件上的Vector类融合算子提供极简、高效、高性能、高拓展的编程方式。项目地址: https://gitcode.com/cann/atvoss创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考