aclrtRegDeviceStateCallback
产品支持情况
产品 |
是否支持 |
|---|---|
√ |
|
√ |
|
√ |
|
√ |
|
√ |
功能说明
注册Device状态回调函数,不支持重复注册。
当Device状态发生变化时(例如调用aclrtSetDevice、aclrtResetDevice等接口),Runtime模块会触发该回调函数的调用。
函数原型
aclError aclrtRegDeviceStateCallback(const char *regName, aclrtDeviceStateCallback callback, void *args)
参数说明
参数名 |
输入/输出 |
说明 |
|---|---|---|
regName |
输入 |
注册名称,保持唯一,不能为空,输入保证字符串以\0结尾。 |
callback |
输入 |
回调函数。若callback不为NULL,则表示注册回调函数;若为NULL,则表示取消注册回调函数。 回调函数的函数原型为: typedef enum {
ACL_RT_DEVICE_STATE_SET_PRE = 0, // 调用set接口(例如aclrtSetDevice)之前
ACL_RT_DEVICE_STATE_SET_POST, // 调用set接口(例如aclrtSetDevice)之后
ACL_RT_DEVICE_STATE_RESET_PRE, // 调用reset接口(例如aclrtResetDevice)之前
ACL_RT_DEVICE_STATE_RESET_POST, // 调用reset接口(例如aclrtResetDevice)之后
} aclrtDeviceState;
typedef void (*aclrtDeviceStateCallback)(uint32_t devId, aclrtDeviceState state, void *args);
|
args |
输入 |
待传递给回调函数的用户数据的指针。 |
返回值说明
返回0表示成功,返回其他值表示失败,请参见aclError。
父主题: Device管理