HcommAclrtNotifyRecordOnThread
产品支持情况
产品 |
是否支持 |
|---|---|
√ |
|
√ |
|
☓ |
|
☓ |
|
☓ |
针对
功能说明
基于acl接口创建的Notify发送同步信号。
函数原型
1 | int32_t HcommAclrtNotifyRecordOnThread(ThreadHandle thread, uint64_t dstNotifyId) |
参数说明
参数名 |
输入/输出 |
描述 |
|---|---|---|
thread |
输入 |
线程句柄,为通过HcclThreadAcquire接口获取到的threads。 ThreadHandle类型的定义请参见ThreadHandle。 |
dstNotifyId |
输入 |
同步信号ID,为通过aclrtGetNotifyId接口获取到的notifyId。 |
返回值
int32_t:接口成功返回0,其他失败。
约束说明
无
调用示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | HcclComm comm; CommEngine engine = COMM_ENGINE_CPU_TS; aclrtStream streams[2]; ThreadHandle threads[2]; // 申请2条流,每条流2个Notify aclrtCreateStream(&streams[0]); aclrtCreateStream(&streams[1]); HcclResult result = HcclThreadAcquireWithStream(comm, engine, streams[0], 2, &threads[0]); result = HcclThreadAcquireWithStream(comm, engine, streams[1], 2, &threads[1]); aclrtNotify notify; uint32_t notifyId; aclrtCreateNotify(&(notify), ACL_NOTIFY_DEFAULT); aclrtGetNotifyId(notify, &(notifyId)); // 发送同步信号 HcommAclrtNotifyRecordOnThread(threads[0], notifyId); // 等待同步信号 uint32_t timeout = 1; HcommAclrtNotifyWaitOnThread(threads[1], notifyId, timeout); |
父主题: 本地操作