下载
中文
注册

aclCreateScalar

函数功能

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

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

函数原型

aclScalar *aclCreateScalar(void *value, aclDataType dataType)

参数说明

aclDataType由AscendCL框架定义,具体参见aclDataType

参数名

输入/输出

说明

value

输入

Host侧的scalar类型的指针,其指向的值会作为scalar。

dataType

输入

scalar的数据类型。

返回值说明

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

约束与限制

  • 本接口需与aclDestroyScalar接口配套使用,分别完成aclScalar的创建与销毁。
  • 如需创建多个aclScalar对象,可调用aclCreateScalarList接口来存储标量列表。

调用示例

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
// 创建aclScalar
float alphaValue = 1.2f;
aclScalar* alpha = aclCreateScalar(&alphaValue, aclDataType::ACL_FLOAT);
...
// aclScalar作为单算子API执行接口的入参
auto ret = aclnnXxxGetWorkspaceSize(srcTensor, alpha, ..., outTensor, ..., &workspaceSize, &executor);
ret = aclnnXxx(...);
...
// 销毁aclScalar
ret = aclDestroyScalar(alpha);