Skip to main content

aclGetTensorDescAddress

aclSetTensorShapeRange

函数功能

调用aclCreateTensorDesc接口创建tensor描述信息后,可通过本接口设置tensor的各个维度的取值范围。同步接口。

使用场景:动态Shape的算子,其输入Shape中变化维度用-1表示,但每个变化维度的范围是不一样的,需要显式设置,如Shape为[16,-1,20,-1],对应的shape range可以是[[16,16],[1,128],[20,20],[1,10]],表示第一维的Shape范围固定为16,第二维的Shape范围为1到128,第三维的Shape范围固定为20,第四维的Shape范围为1到10。

函数原型

aclError aclSetTensorShapeRange(aclTensorDesc* desc, size_t dimsCount, int64_t dimsRange[][ACL_TENSOR_SHAPE_RANGE_NUM]****)

参数说明

参数名输入/输出说明
desc输出aclTensorDesc类型的指针。 需提前调用aclCreateTensorDesc接口创建aclTensorDesc类型。
dimsCount输入tensor中dims的维度个数。
dimsRange输入dimsRange为每个维度的取值范围,用二维数组表示范围。 如果Shape中的维度值不是-1时,表示固定维度,该维度对应的shape range中最大值和最小值相同;否则,表示动态维度,数组的两个维度分别表示对应tensor dims中的最小值和最大值。
text<br>#define ACL_TENSOR_SHAPE_RANGE_NUM 2<br>

返回值说明

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

父主题: aclTensorDesc

aclSetTensorDynamicInput

函数功能

调用aclCreateTensorDesc接口创建tensor描述信息后,可通过aclSetTensorDynamicInput接口设置多个动态输入的分组标识,例如某个算子包括动态输入为x、必选输入y,其中动态输入有多个,调用aclSetTensorDynamicInput将dynamicInputName设置为x,AscendCL内部根据dynamicInputName索引到对应的多个动态输入,达到分组的目的**。**同步接口。

函数原型

aclError aclSetTensorDynamicInput(aclTensorDesc *desc, const char *dynamicInputName)

参数说明

参数名输入/输出说明
desc输出aclTensorDesc类型的指针。 需提前调用aclCreateTensorDesc接口创建aclTensorDesc类型。
dynamicInputName输入desc中动态输入分组标识的指针。

返回值说明

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

父主题: aclTensorDesc

aclGetTensorDescByIndex

函数功能

获取算子的指定Index的tensor描述信息。同步接口。

函数原型

aclTensorDesc *aclGetTensorDescByIndex(aclTensorDesc *desc, size_t index)

参数说明

参数名输入/输出说明
desc输入aclTensorDesc类型的指针。 调用aclmdlCreateAndGetOpDesc接口获取算子所有输入/输出的tensor描述,作为本接口的输入。
index输入指定获取第几个输入/输出的tensor描述,index值从0开始。 用户调用aclmdlCreateAndGetOpDesc接口获取的算子输入/输出的数量后,这个Index的取值范围:[0, (算子输入/输出的数量-1)]。

返回值说明

返回指定输入/输出的aclTensorDesc类型数据的指针。

父主题: aclTensorDesc

aclGetTensorDescAddress

函数功能

获取指定算子输入/输出的tensor数据的内存地址。同步接口。

函数原型

void *aclGetTensorDescAddress(const aclTensorDesc *desc)

参数说明

参数名输入/输出说明
desc输入aclTensorDesc类型的指针。 调用aclGetTensorDescByIndex接口获取算子的指定输入/输出的tensor描述,作为本接口的输入。

返回值说明

返回指定算子输入/输出的tensor数据的内存地址。

父主题: aclTensorDesc

aclSetTensorConst

函数功能

为算子设置constant输入,指定存放输入tensor数据的内存地址和地址长度。同步接口。

函数原型

aclError aclSetTensorConst(****aclTensorDesc *desc, void *dataBuffer, size_t length)

参数说明

参数名输入/输出说明
desc输出aclTensorDesc类型的指针。 需提前调用aclCreateTensorDesc接口创建aclTensorDesc类型。
dataBuffer输入输入tensor数据内存地址指针。 此处算子输入tensor数据的内存必须根据应用运行模式来确定,应用运行在Host时,此处需申请Host上的内存;应用运行在Device时,此处需申请Device上的内存。内存申请接口请参见内存管理
length输入内存地址的长度,单位是Byte。

返回值说明

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

父主题: aclTensorDesc

aclSetTensorPlaceMent

函数功能

设置TensorDesc的placement属性,用于标识存放Tensor数据的内存类型。同步接口。

函数原型

aclError aclSetTensorPlaceMent(****aclTensorDesc *desc, aclMemType memType)

参数说明

参数名输入/输出说明
desc输出aclTensorDesc类型的指针。 需提前调用aclCreateTensorDesc接口创建aclTensorDesc类型。
memType输入指定placement属性值。

返回值说明

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

父主题: aclTensorDesc

aclSetTensorValueRange

函数功能

调用aclCreateTensorDesc接口创建tensor描述信息后,可通过本接口设置tensor的数据值的范围。同步接口。

使用场景:部分算子input的值就是该算子的输出Shape,在动态Shape场景下,这个Shape的值就有一个取值范围,在执行算子时,需要在input上设置Shape值的范围(例如:[[16,16],[1,128],[20,20],[1,10]]),AscendCL才能正常编译、执行算子。

函数原型

aclError aclSetTensorValueRange(aclTensorDesc* desc, size_t valueCount, int64_t valueRange[][ACL_TENSOR_VALUE_RANGE_NUM])

参数说明

参数名输入/输出说明
desc输出aclTensorDesc类型的指针。 需提前调用aclCreateTensorDesc接口创建aclTensorDesc类型。
valueCount输入需设置范围的数据值的个数。
valueRange输入valueRange为每个数据值的范围,用二维数组表示范围。
text<br>#define ACL_TENSOR_VALUE_RANGE_NUM 2<br>

返回值说明

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

父主题: aclTensorDesc

在线提单