对输入的inputTensor的指数位所在字节实现PDF统计【可选】,按照PDF分布统计进行无损压缩,压缩后的结果可存储在device的HBM上或offload到Host侧。
每个算子分为,必须先调用“aclnnHansEncodeGetWorkspaceSize”接口获取计算所需workspace大小以及包含了算子计算流程的执行器,再调用“aclnnHansEncode”接口执行计算。
[object Object][object Object]
参数说明:
- inputTensor(aclTensor*, 计算输入): 表示输入的待压缩张量,Device侧的aclTensor,数据类型支持FLOAT16、BFLOAT16、FLOAT32,数据元素大小仅支持64的倍数且大于等于32768,支持,支持ND。
- pdfRef(aclTensor*, 计算输入/计算输出):表示inputTensor的指数位所在字节的概率密度分布,Device侧的aclTensor,数据类型支持INT32,shape要求为(1, 256),支持,支持ND。
- statistic(bool, 计算输入): 表示是否进行pdf统计。
- reshuff(bool, 计算输入): 表示是否对各核编码后的结果进行内存重整。
- mantissaOut(aclTensor*, 计算输出):表示输出的尾数部分,Device侧的aclTensor。数据类型支持FLOAT16、BFLOAT16、FLOAT32,需与inputTensor保持一致,支持。支持ND。
- fixedOut(aclTensor*, 计算输出):表示压缩的第一段输出,Device侧的aclTensor。数据类型支持FLOAT16、BFLOAT16、FLOAT32,需与inputTensor保持一致,支持。支持ND。
- varOut(aclTensor*, 计算输出):表示压缩超过fixedOut后的输出,Device侧的aclTensor。数据类型支持FLOAT16、BFLOAT16、FLOAT32,需与inputTensor保持一致,支持。支持ND。
- workspaceSize(uint64_t*, 出参): 返回需要在Device侧申请的workspace大小。
- executor(aclOpExecutor**, 出参): 返回op执行器,包含了算子计算流程。
返回值:
第一段接口完成入参校验,出现以下场景时报错:
[object Object]
无
[object Object]