aclnnLogicalOr
支持的产品型号
- Atlas A2训练系列产品
- Atlas 800I A2推理产品
- Atlas 推理系列产品
产品形态详细说明请参见昇腾产品形态说明。
功能描述
-
算子功能:LogicalOr算子提供比较相等的功能。LogicalOr算子的主要功能是对输入的两个数值(或张量)进行逐元素逻辑或运算。在数学和工程领域中,比较是一个基础且常见的操作,被广泛应用于图像处理、信号处理、逻辑运算等多个领域。LogicalOr算子能够高效地处理批量数据的比较,支持布尔类型的输入。
-
计算公式:
bool类型
y=x1∨x2y = x1 \lor x2
实现原理
调用Ascend C的API接口LogicalOr对输入数据进行计算,该实现通过计算两个输入张量的逻辑或计算结果。
算子执行接口
每个算子分为两段式接口,必须先调用 “aclnnLogicalOrGetWorkspaceSize” 接口获取计算所需 workspace 大小以及包含了算子计算流程的执行器,再调用 “aclnnLogicalOr” 接口执行计算。
aclnnStatus aclnnLogicalOrGetWorkspaceSize(const aclTensor* x1, const aclTensor* x2, const aclTensor* out, uint64_t* workspaceSize, aclOpExecutor** executor)aclnnStatus aclnnLogicalOr(void* workspace, uint64_t workspaceSize, aclOpExecutor* executor, aclrtStream stream)
说明:
- 算子执行接口对外屏蔽了算子内部实现逻辑以及不同代际NPU的差异,且开发者无需编译算子,实现了算子的精简调用。
- 若开发者不使用算子执行接口的调用算子,也可以定义基于Ascend IR的算子描述文件,通过ATC工具编译获得算子om文件,然后加载模型文件执行算子,详细调用方法可参见《应用开发指南》的单算子调用 > 单算子模型执行章节。
aclnnLessGetWorkspaceSize
-
参数说明:
- x1(aclTensor*,计算输入):必选参数,Device侧的aclTensor,公式中的输入x1,数据类型支持BOOL,数据格式支持ND。
- x2(aclTensor*,计算输入):必选参数,Device侧的aclTensor,公式中的输入x2,数据类型支持BOOL,数据格式支持ND。
- out(aclTensor*,计算输出):Device侧的aclTensor,公式中的输出y,数据类型支持BOOL,数据格式支持ND,输出维度与x一致。
- workspaceSize(uint64_t*,出参):返回用户需要在Device侧申请的workspace大小。
- executor(aclOpExecutor**,出参):返回op执行器,包含了算子计算流程。
-
返回值:
返回aclnnStatus状态码,具体参见aclnn返回码。
第一段接口完成入参校验,若出现以下错误码,则对应原因为: - 返回161001(ACLNN_ERR_PARAM_NULLPTR):如果传入参数是必选输入,输出或者必选属性,且是空指针,则返回161001。 - 返回161002(ACLNN_ERR_PARAM_INVALID):x1、x2、out的数据类型和数据格式不在支持的范围内。
aclnnLess
-
参数说明:
- workspace(void*,入参):在Device侧申请的workspace内存起址。
- workspaceSize(uint64_t,入参):在Device侧申请的workspace大小,由第一段接口aclnnFFNGetWorkspaceSize获取。
- executor(aclOpExecutor*,入参):op执行器,包含了算子计算流程。
- stream(aclrtStream,入参):指定执行任务的AscendCL stream流。
-
返回值:
返回aclnnStatus状态码,具体参见aclnn返回码。
约束与限制
x1,x2,out的数据类型只支持BOOL,数据格式只支持ND
算子原型
| 算子类型(OpType) | LogicalOr | |||
|---|---|---|---|---|
| name | Type | data type | format | |
| 算子输入 | ||||
| x1 | tensor | bool | ND | |
| 算子输入 | ||||
| x2 | tensor | bool | ND | |
| 算子输出 | y | tensor | bool | ND |
| 核函数名 | logical_or | |||