aclrtValueWait

产品支持情况

产品

是否支持

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

Atlas 200I/500 A2 推理产品

x

Atlas 推理系列产品

x

Atlas 训练系列产品

x

Atlas 200/300/500 推理产品

x

功能说明

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

函数原型

aclError aclrtValueWait(void* devAddr, uint64_t value, uint32_t flag, aclrtStream stream) 

参数说明

参数名

输入/输出

说明

devAddr

输入

Device侧内存地址。

devAddr的有效内存位宽为64bit

value

输入

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

flag

输入

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

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

输入

指定stream。

此处支持传NULL,表示使用默认Stream。

返回值说明

返回0表示成功,返回其他值表示失败,请参见aclError