下载
中文
注册

aclCreateScalarList

函数功能

创建aclScalarList对象,作为单算子API执行接口的入参。

aclScalarList是AscendCL定义的一种用来管理和存储多个标量数据的列表结构,开发者无需关注其内部实现,直接使用即可。

函数原型

aclScalarList *aclCreateScalarList(const aclScalar *const *value, uint64_t size)

参数说明

参数名

输入/输出

说明

value

输入

指向aclScalar指针数组首地址的指针,数组内aclScalar指针会依次拷贝给aclScalarList。

size

输入

标量列表的长度,取值大于0。

返回值说明

成功则返回创建好的aclScalarList,否则返回nullptr。

约束与限制

调用示例

关键代码示例如下,仅供参考,不支持直接拷贝运行。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
// 创建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 = aclnnXxxGetWorkspaceSize(srcTensor, scalarlist, ..., outTensor, ..., &workspaceSize, &executor);
ret = aclnnXxx(...);
...
// 销毁aclScalarList
ret = aclDestroyScalarList(scalarlist);