CANN Runtime快照管理
21. 快照管理【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime本章节描述 CANN Runtime 的快照管理接口用于进程状态的锁定、备份、恢复及回调注册。aclError aclrtSnapShotProcessLock()锁定当前进程以阻止后续的运行时接口调用包括Device设置/释放、内存的申请/释放/拷贝、Context/Stream/Event/Notify等资源的创建与销毁、以及部分任务下发接口。aclError aclrtSnapShotProcessBackup()备份快照进程中的Device资源并将Device资源保存在Host侧以便后续恢复。针对当前进程支持多次备份以最后一次生效。aclError aclrtSnapShotProcessRestore()恢复快照进程中的Device资源。根据备份好的Device资源进行恢复从最后一次备份点进行恢复。aclError aclrtSnapShotProcessUnlock()解锁Device上的当前进程同时解除运行时接口的阻塞调用。aclError aclrtSnapShotCallbackRegister(aclrtSnapShotStage stage, aclrtSnapShotCallBack callback, void *args)注册一个回调函数该回调函数将在快照操作的不同阶段被调用。不支持重复注册。aclError aclrtSnapShotCallbackUnregister(aclrtSnapShotStage stage, aclrtSnapShotCallBack callback)取消注册回调函数。取消注册之后对应快照阶段将不再调用该回调函数。aclrtSnapShotProcessLockaclError aclrtSnapShotProcessLock()须知本接口为试验特性后续版本可能会存在变更不支持应用于商用产品中。产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明锁定当前进程以阻止后续的运行时接口调用包括Device设置/释放、内存的申请/释放/拷贝、Context/Stream/Event/Notify等资源的创建与销毁、以及部分任务下发接口。在调用此接口之前必须确保当前进程处于RUNNING状态当前进程默认是RUNNING状态调用该接口后当前进程将变为LOCKED状态。参数说明无返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtSnapShotProcessBackupaclError aclrtSnapShotProcessBackup()须知本接口为试验特性后续版本可能会存在变更不支持应用于商用产品中。产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明备份快照进程中的Device资源并将Device资源保存在Host侧以便后续恢复。针对当前进程支持多次备份以最后一次生效。在调用此接口之前必须确保当前进程处于LOCKED状态调用该接口后当前进程将变为BACKED_UP状态。参数说明无返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtSnapShotProcessRestoreaclError aclrtSnapShotProcessRestore()须知本接口为试验特性后续版本可能会存在变更不支持应用于商用产品中。产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明恢复快照进程中的Device资源。根据备份好的Device资源进行恢复从最后一次备份点进行恢复。在调用该接口之前必须确保当前进程处于BACKED_UP状态调用该接口后当前进程将变为LOCKED状态。参数说明无返回值说明返回0表示成功返回其他值表示失败请参见aclError。约束说明恢复和备份需要在同一个Device上指Device ID相同。恢复时若Device被其他进程占用则恢复失败。aclrtSnapShotProcessUnlockaclError aclrtSnapShotProcessUnlock()须知本接口为试验特性后续版本可能会存在变更不支持应用于商用产品中。产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明解锁Device上的当前进程同时解除运行时接口的阻塞调用。在调用此接口之前必须确保当前进程处于LOCKED或BACKED_UP状态调用此接口后当前进程将变为RUNNING状态。参数说明无返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtSnapShotCallbackRegisteraclError aclrtSnapShotCallbackRegister(aclrtSnapShotStage stage, aclrtSnapShotCallBack callback, void *args)须知本接口为试验特性后续版本可能会存在变更不支持应用于商用产品中。产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明注册一个回调函数该回调函数将在快照操作的不同阶段被调用。不支持重复注册。参数说明参数名输入/输出说明stage输入指定触发回调的快照阶段。类型定义请参见aclrtSnapShotStage。callback输入指向回调函数的指针。当指定的快照阶段到达时系统将自动调用此函数。函数定义如下typedef uint32_t (aclrtSnapShotCallBack)(int32_t deviceId, voidargs);args输入用户自定义参数指针在回调函数调用时传递可以为NULL表示不需要传递额外参数。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtSnapShotCallbackUnregisteraclError aclrtSnapShotCallbackUnregister(aclrtSnapShotStage stage, aclrtSnapShotCallBack callback)须知本接口为试验特性后续版本可能会存在变更不支持应用于商用产品中。产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品√Atlas A2 训练系列产品/Atlas A2 推理系列产品√功能说明取消注册回调函数。取消注册之后对应快照阶段将不再调用该回调函数。参数说明参数名输入/输出说明stage输入指定触发回调的快照阶段。类型定义请参见aclrtSnapShotStage。callback输入待取消注册的回调函数指针。函数定义如下typedef uint32_t (aclrtSnapShotCallBack)(int32_t deviceId, voidargs);返回值说明返回0表示成功返回其他值表示失败请参见aclError。【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考