昇腾社区首页
中文
注册

函数:value_wait

产品支持情况

产品

是否支持

Atlas A3 训练系列产品/Atlas A3 推理系列产品

Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件

Atlas 训练系列产品

x

Atlas 推理系列产品

x

Atlas 200I/500 A2 推理产品

x

Atlas 200/300/500 推理产品

x

功能说明

等待指定内存中的数据满足一定条件后解除阻塞。

函数原型

  • C函数原型
    aclError aclrtValueWait(void* devAddr, uint64_t value, uint32_t flag, aclrtStream stream) 
  • python函数
    1
    ret = acl.rt.value_wait(devAddr, value, flag, stream)
    

参数说明

参数名

说明

devAddr

int,Device侧内存地址。

dev_addr的有效内存位宽为64bit

value

int,需与内存中的数据作比较的值。

flag

int,比较的方式,等满足条件后解除阻塞。取值如下:

ACL_VALUE_WAIT_GEQ = 0x0;   # 等到(int64_t)(*devAddr - value) >= 0 
ACL_VALUE_WAIT_EQ = 0x1;    # 等到*devAddr == value
ACL_VALUE_WAIT_AND = 0x2;   # 等到(*devAddr & value) != 0
ACL_VALUE_WAIT_NOR = 0x3;   # 等到~(*devAddr | value) != 0 

stream

int,指定stream。此处支持传0,表示使用默认Stream。

返回值说明

返回值

说明

ret

int,错误码,返回0表示成功,返回其它值表示失败。