下载
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
昇腾小AI

公共接口

本节罗列了单算子API执行依赖的一些AscendCL元接口,通过这些元接口可以构建所需的数据结构,如aclTensor、aclScalar、aclIntArray等。

表1 AscendCL meta接口

接口

接口定义

功能说明

参数说明

返回值

aclCreateTensor

aclTensor *aclCreateTensor(const int64_t *viewDims, uint64_t viewDimsNum, aclDataType dataType, const int64_t *stride, int64_t offset, aclFormat format, const int64_t *storageDims, uint64_t storageDimsNum, void *tensorData)

创建aclTensor。

  • viewDims(输入):view shape的维度值。
  • viewDimsNum(输入):view shape的维度数。
  • dataType(输入):tensor的数据类型。
  • stride(输入):tensor的view的各个维度步长。
  • offset(输入):tensor首元素相对于storage的偏移。
  • format(输入):tensor的数据排布格式。
  • storageDims(输入):tensor的存储的shape的维度值。
  • storageDimsNum(输入):tensor的存储的shape的维度数。
  • tensorData(输入):tensor在Device侧的存储地址。

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

aclDestroyTensor

aclnnStatus aclDestroyTensor(const aclTensor *tensor)

销毁aclTensor。

tensor(输入):需要销毁的tensor指针。

返回0表示成功,返回其它值表示失败。

aclCreateScalar

aclScalar *aclCreateScalar(void *value, aclDataType dataType)

创建aclScalar。

  • value(输入):Host侧的scalar类型的指针,其指向的值会作为scalar。
  • dataType(输入):scalar的数据类型。

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

aclDestroyScalar

aclnnStatus aclDestroyScalar(const aclScalar *scalar)

销毁aclScalar。

scalar(输入):需要销毁的scalar。

返回0表示成功,返回其它值表示失败。

aclCreateIntArray

aclIntArray *aclCreateIntArray(const int64_t *value, uint64_t size)

创建aclIntArray。

  • value(输入):Host侧的int64_t类型的指针,其指向的值会赋给Array。
  • size(输入):整型数组的长度。

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

aclDestroyIntArray

aclnnStatus aclDestroyIntArray(const aclIntArray *array)

销毁aclIntArray。

array(输入):需要销毁的aclIntArray。

返回0表示成功,返回其它值表示失败。

aclCreateFloatArray

aclFloatArray *aclCreateFloatArray(const float *value, uint64_t size)

创建aclFloatArray。

  • value(输入):Host侧的float类型的指针,其指向的值会赋给Array。
  • size(输入):浮点型数组的长度。

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

aclDestroyFloatArray

aclnnStatus aclDestroyFloatArray(const aclFloatArray *array)

销毁aclFloatArray。

array(输入):需要销毁的aclFloatArray

返回0表示成功,返回其它值表示失败。

aclCreateBoolArray

aclBoolArray *aclCreateBoolArray(const bool *value, uint64_t size)

创建aclBoolArray。

  • value(输入): Host侧的bool类型的指针,其指向的值会赋给Array。
  • size(输入):布尔型数组的长度。

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

aclDestroyBoolArray

aclnnStatus aclDestroyBoolArray(const aclBoolArray *array)

销毁aclBoolArray。

array(输入):需要销毁的aclBoolArray。

返回0表示成功,返回其它值表示失败。

aclCreateTensorList

aclTensorList *aclCreateTensorList(const aclTensor *const *value, uint64_t size)

创建aclTensorList。

value(输入): Device侧的aclTensor类型的指针,其指向的值会赋给TensorList。

size(输入):张量列表的长度。

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

aclDestroyTensorList

aclnnStatus aclDestroyTensorList(const aclTensorList *array)

销毁aclTensorList。

array(输入):需要销毁的aclTensorList。

返回0表示成功,返回其它值表示失败。

aclGetViewShape

aclnnStatus aclGetViewShape(const aclTensor *tensor, int64_t **viewDims, uint64_t *viewDimsNum)

获取aclTensor的ViewShape。

  • tensor(输入):输入的tensor。
  • viewDims(输出):返回的viewShape的维度值。
  • viewDimsNum(输出):返回的viewShape的维度数。

返回0表示成功,返回其它值表示失败。

aclGetViewStrides

aclnnStatus aclGetViewStrides(const aclTensor *tensor, int64_t **stridesValue, uint64_t *stridesNum)

获取aclTensor的viewStrides。

  • tensor(输入):输入的tensor。
  • stridesValue(输出):返回的viewStrides的值。
  • stridesNum(输出):返回的viewStrides的strides值个数。

返回0表示成功,返回其它值表示失败。

aclGetViewOffset

aclnnStatus aclGetViewOffset(const aclTensor *tensor, int64_t *offset)

获取aclTensor的viewOffset。

  • tensor(输入):输入的tensor。
  • offset(输出):返回的offset值。

返回0表示成功,返回其它值表示失败。

aclGetFormat

aclnnStatus aclGetFormat(const aclTensor *tensor, aclFormat *format)

获取aclTensor的format。

  • tensor(输入):输入的tensor。
  • format(输出):返回的aclTensor的数据格式。

返回0表示成功,返回其它值表示失败。

aclGetDataType

aclnnStatus aclGetDataType(const aclTensor *tensor, aclDataType *dataType)

获取aclTensor的DataType。

  • tensor(输入):输入的tensor。
  • dataType(输出):返回的aclTensor的数据类型。

返回0表示成功,返回其它值表示失败。

aclGetIntArraySize

aclnnStatus aclGetIntArraySize(const aclIntArray *array, uint64_t *size)

获取aclIntArray的大小。

  • array(输入):输入的aclIntArray。
  • size(输出):返回的长度。

返回0表示成功,返回其它值表示失败。

aclGetFloatArraySize

aclnnStatus aclGetFloatArraySize(const aclFloatArray *array, uint64_t *size)

获取aclFloatArray的大小。

  • array(输入):输入的aclFloatArray。
  • size(输出):返回的长度。

返回0表示成功,返回其它值表示失败。

aclGetBoolArraySize

aclnnStatus aclGetBoolArraySize(const aclBoolArray *array, uint64_t *size)

获取aclBoolArray的大小。

  • array(输入):输入的aclBoolArray。
  • size(输出):返回的长度。

返回0表示成功,返回其它值表示失败。

aclGetTensorListSize

aclnnStatus aclGetTensorListSize(const aclTensorList *tensorList, uint64_t *size)

获取aclTensorList的大小。

  • tensorList(输入):输入的aclTensorList。
  • size(输出):返回的长度。

返回0表示成功,返回其它值表示失败。

aclGetStorageShape

aclnnStatus aclGetStorageShape(const aclTensor *tensor, int64_t **storageDims, uint64_t *storageDimsNum)

或取Tensor在内存上的存储shape。

  • tensor(输入):输入的tensor对应的地址。
  • storageDims(输出):表示存储shape的维度值。
  • storageDimsNum(输出):表示存储shape的维度数。

返回0表示成功,返回其它值表示失败。

aclCreateScalarList

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

创建aclScalarList。

value(输入): Device侧的aclScalar类型的指针,其指向的值会赋给ScalarList。

size(输入):标量列表的长度。

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

aclDestroyScalarList

aclnnStatus aclDestroyScalarList(const aclScalarList *array)

销毁aclScalarList。

array(输入):需要销毁的aclScalarList。

返回0表示成功,返回其它值表示失败。

aclGetScalarListSize

aclnnStatus aclGetScalarListSize(const aclScalarList *scalarList, uint64_t *size)

获取aclScalarList的大小。

  • scalarList(输入):输入的aclScalarList。
  • size(输出):返回的长度。

返回0表示成功,返回其它值表示失败。

aclInitTensor

aclnnStatus aclInitTensor(aclTensor *tensor, const int64_t *viewDims, uint64_t viewDimsNum, aclDataType dataType, const int64_t *stride, int64_t offset, aclFormat format, const int64_t *storageDims, uint64_t storageDimsNum, void *tensorDataAddr)

初始化给定tensor的参数。

当用户想复用已创建aclTensor时,可使用该接口先重置aclTensor的各项属性。

  • tensor(输入):待初始化参数的tensor,通过aclCreateTensor创建。
  • viewDims(输入):view shape的维度值。
  • viewDimsNum(输入):view shape的维度数。
  • dataType(输入):tensor的数据类型。
  • stride(输入):tensor的view的各个维度步长。
  • offset(输入):tensor首元素相对于storage的偏移。
  • format(输入):tensor的数据排布格式。
  • storageDims(输入):tensor的存储shape的维度值。
  • storageDimsNum(输入):tensor的存储shape的维度数。
  • tensorDataAddr(输入):tensor在Device侧的存储地址。

返回0表示成功,返回其它值表示失败。

搜索结果
找到“0”个结果

当前产品无相关内容

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