aclCreateScalarList
【免费下载链接】opbase本项目是CANN算子库的基础框架库,为算子提供公共依赖文件和基础调度能力。项目地址: https://gitcode.com/cann/opbase
功能说明
创建aclScalarList对象,作为单算子API执行接口的入参。
aclScalarList是框架定义的一种用来管理和存储多个标量数据的列表结构,开发者无需关注其内部实现,直接使用即可。
函数原型
aclScalarList *aclCreateScalarList(const aclScalar *const *value, uint64_t size)参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| value | 输入 | 指向aclScalar指针数组首地址的指针,数组内aclScalar指针会依次拷贝给aclScalarList。 |
| size | 输入 | 标量列表的长度,取值为正整数。 |
返回值说明
成功则返回创建好的aclScalarList,否则返回nullptr。
约束说明
- 调用本接口前,需提前调用aclCreateScalar接口创建aclScalar。
- 本接口需与aclDestroyScalarList接口配套使用,分别完成aclScalarList的创建与销毁。
- 调用aclGetScalarListSize接口可以获取aclScalarList的大小。
调用示例
关键代码示例如下,仅供参考,不支持直接拷贝运行。
// 创建alpha1 aclScalar float alpha1Value = 1.2f; aclScalar *alpha1 = aclCreateScalar(&alpha1Value, aclDataType::ACL_FLOAT); // 创建alpha2 aclScalar float alpha2Value = 2.2f; aclScalar *alpha2 = aclCreateScalar(&alpha2Value, aclDataType::ACL_FLOAT); // 创建aclScalarList std::vector<aclScalar *> tempscalar{alpha1, alpha2}; aclScalarList *scalarlist = aclCreateScalarList(tempscalar.data(), tempscalar.size()); ... // aclScalarList作为单算子API执行接口的入参 auto ret = aclxxXxxGetWorkspaceSize(srcTensor, scalarlist, ..., outTensor, ..., &workspaceSize, &executor); ret = aclxxXxx(...); ... // 销毁aclScalarList ret = aclDestroyScalarList(scalarlist);【免费下载链接】opbase本项目是CANN算子库的基础框架库,为算子提供公共依赖文件和基础调度能力。项目地址: https://gitcode.com/cann/opbase
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考