CANN / runtime 运行时配置

发布时间:2026/7/11 14:05:28
CANN / runtime 运行时配置 3. 运行时配置【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime本章节描述 CANN Runtime 的运行时配置接口用于设置和查询系统参数、设备资源限制及 Stream 资源限制。aclError aclrtSetSysParamOpt(aclSysParamOpt opt, int64_t value)设置当前进程中的运行时参数值。aclError aclrtGetSysParamOpt(aclSysParamOpt opt, int64_t *value)获取当前进程中的运行时参数值。aclError aclrtGetDeviceResLimit(int32_t deviceId, aclrtDevResLimitType type, uint32_t* value)获取当前进程的Device资源限制。aclError aclrtSetDeviceResLimit(int32_t deviceId, aclrtDevResLimitType type, uint32_t value)设置当前进程的Device资源限制。aclError aclrtResetDeviceResLimit(int32_t deviceId)调用aclrtSetDeviceResLimit接口设置Device资源限制后可调用本接口重置当前进程的Device资源限制恢复默认配置此时可通过aclrtGetDeviceResLimit接口查询默认的资源限制。aclError aclrtGetStreamResLimit(aclrtStream stream, aclrtDevResLimitType type, uint32_t *value)获取指定Stream的Device资源限制。aclError aclrtSetStreamResLimit(aclrtStream stream, aclrtDevResLimitType type, uint32_t value)设置指定Stream的Device资源限制。aclError aclrtResetStreamResLimit(aclrtStream stream)调用aclrtSetStreamResLimit接口设置指定Stream的Device资源限制后可调用本接口重置指定Stream的Device资源限制恢复默认配置此时可通过aclrtGetStreamResLimit接口查询默认的资源限制。aclError aclrtUseStreamResInCurrentThread([aclrtStream](https://link.gitcode.com/i/b31e2e35eb1114cd94e838d1fc7024dc) stream)在当前线程中使用指定Stream上的Device资源限制。如果多次调用本接口设置Stream将以最后一次设置为准。aclError aclrtUnuseStreamResInCurrentThread(aclrtStream stream)在当前线程中取消使用指定Stream上的Device资源限制。aclError aclrtGetResInCurrentThread(aclrtDevResLimitType type, uint32_t *value)获取当前线程可使用的Device资源。aclrtSetSysParamOptaclError aclrtSetSysParamOpt(aclSysParamOpt opt, int64_t value)产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品支持Atlas 训练系列产品支持IPV350不支持功能说明设置当前进程中的运行时参数值。调用本接口设置运行时参数值后若需获取参数值需调用aclrtGetSysParamOpt接口。本接口与aclrtCtxSetSysParamOpt接口的差别是本接口作用域是进程aclrtCtxSetSysParamOpt接口作用域是Context。参数说明参数名输入/输出说明opt输入运行时参数请参见aclSysParamOpt。value输入运行时参数值。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtGetSysParamOptaclError aclrtGetSysParamOpt(aclSysParamOpt opt, int64_t *value)产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品支持Atlas 训练系列产品支持IPV350不支持功能说明获取当前进程中的运行时参数值。如果不调用aclrtSetSysParamOpt接口设置运行时参数的值直接调用本接口可获取各参数的默认值0表示不开启确定性计算或内存访问越界检测调用aclrtSetSysParamOpt接口设置运行时参数值后若需获取参数值需调用aclrtGetSysParamOpt接口。参数说明参数名输入/输出说明opt输入运行时参数请参见aclSysParamOpt。value输出运行时参数值。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtGetDeviceResLimitaclError aclrtGetDeviceResLimit(int32_t deviceId, aclrtDevResLimitType type, uint32_t* value)产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品支持Atlas 训练系列产品支持IPV350不支持功能说明获取当前进程的Device资源限制。若没有调用aclrtSetDeviceResLimit接口设置当前进程的Device资源限制则调用本接口获取到的是AI处理器硬件默认的资源限制。参数说明参数名输入/输出说明deviceId输入Device ID。用户调用aclrtGetDeviceCount接口获取可用的Device数量后这个Device ID的取值范围[0, (可用的Device数量-1)]type输入资源类型请参见aclrtDevResLimitType。value输出资源限制的大小。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtSetDeviceResLimitaclError aclrtSetDeviceResLimit(int32_t deviceId, aclrtDevResLimitType type, uint32_t value)产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品支持Atlas 训练系列产品支持IPV350不支持功能说明设置当前进程的Device资源限制。本接口应在调用aclrtSetDevice接口之后且在执行算子之前使用。如果对同一Device进行多次设置将以最后一次设置为准。除了进程级别的Device资源限制当前还支持设置Stream级别的Device资源限制可通过aclrtSetStreamResLimit、aclrtUseStreamResInCurrentThread接口配合使用实现。Device资源限制的优先级为Stream级别的Device资源限制 进程级别的Device资源限制 AI处理器硬件的资源限制参数说明参数名输入/输出说明deviceId输入Device ID。用户调用aclrtGetDeviceCount接口获取可用的Device数量后这个Device ID的取值范围[0, (可用的Device数量-1)]type输入资源类型请参见aclrtDevResLimitType。value输入资源限制的大小。返回值说明返回0表示成功返回其他值表示失败请参见aclError。约束说明本接口的设置仅对后续下发的任务有效。例如在调用aclmdlRICaptureBegin、aclmdlRICaptureEnd等接口捕获Stream任务到模型中、再执行模型推理的场景下则需要在捕获之前调用本接口设置Device资源。aclrtResetDeviceResLimitaclError aclrtResetDeviceResLimit(int32_t deviceId)产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品支持Atlas 训练系列产品支持IPV350不支持功能说明调用aclrtSetDeviceResLimit接口设置Device资源限制后可调用本接口重置当前进程的Device资源限制恢复默认配置此时可通过aclrtGetDeviceResLimit接口查询默认的资源限制。参数说明参数名输入/输出说明deviceId输入Device ID。用户调用aclrtGetDeviceCount接口获取可用的Device数量后这个Device ID的取值范围[0, (可用的Device数量-1)]返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtGetStreamResLimitaclError aclrtGetStreamResLimit(aclrtStream stream, aclrtDevResLimitType type, uint32_t *value)产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品支持Atlas 训练系列产品支持IPV350不支持功能说明获取指定Stream的Device资源限制。若没有调用aclrtSetStreamResLimit接口设置Device资源限制则调用本接口获取到的Device资源限制优先级为当前进程的Device资源限制调用aclrtSetDeviceResLimit接口设置 AI处理器硬件默认的资源限制参数说明参数名输入/输出说明stream输入指定Stream。类型定义请参见aclrtStream。若传入NULL则表示默认Stream。type输入资源类型请参见aclrtDevResLimitType。value输出资源限制的大小。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtSetStreamResLimitaclError aclrtSetStreamResLimit(aclrtStream stream, aclrtDevResLimitType type, uint32_t value)产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品支持Atlas 训练系列产品支持IPV350不支持功能说明设置指定Stream的Device资源限制。本接口应在调用aclrtSetDevice接口之后且在执行算子之前使用。如果对同一Stream进行多次设置将以最后一次设置为准。调用本接口设置指定Stream的Device资源限制后需配合调用aclrtUseStreamResInCurrentThread接口设置在当前线程中使用指定Stream上的Device资源限制。参数说明参数名输入/输出说明stream输入指定Stream。类型定义请参见aclrtStream。若传入NULL则表示默认Stream。type输入资源类型请参见aclrtDevResLimitType。value输入资源限制的大小。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtResetStreamResLimitaclError aclrtResetStreamResLimit(aclrtStream stream)产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品支持Atlas 训练系列产品支持IPV350不支持功能说明调用aclrtSetStreamResLimit接口设置指定Stream的Device资源限制后可调用本接口重置指定Stream的Device资源限制恢复默认配置此时可通过aclrtGetStreamResLimit接口查询默认的资源限制。参数说明参数名输入/输出说明stream输入指定Stream。类型定义请参见aclrtStream。若传入NULL则表示默认Stream。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtUseStreamResInCurrentThreadaclError aclrtUseStreamResInCurrentThread([aclrtStream](https://link.gitcode.com/i/b31e2e35eb1114cd94e838d1fc7024dc) stream)产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品支持Atlas 训练系列产品支持IPV350不支持功能说明在当前线程中使用指定Stream上的Device资源限制。如果多次调用本接口设置Stream将以最后一次设置为准。参数说明参数名输入/输出说明stream输入指定Stream。类型定义请参见aclrtStream。需先调用aclrtSetStreamResLimit接口设置该Stream上的Device资源限制。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtUnuseStreamResInCurrentThreadaclError aclrtUnuseStreamResInCurrentThread(aclrtStream stream)产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品支持Atlas 训练系列产品支持IPV350不支持功能说明在当前线程中取消使用指定Stream上的Device资源限制。参数说明参数名输入/输出说明stream输入指定Stream。类型定义请参见aclrtStream。返回值说明返回0表示成功返回其他值表示失败请参见aclError。aclrtGetResInCurrentThreadaclError aclrtGetResInCurrentThread(aclrtDevResLimitType type, uint32_t *value)产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品支持Atlas A2 训练系列产品/Atlas A2 推理系列产品支持Atlas 200I/500 A2 推理产品支持Atlas 推理系列产品支持Atlas 训练系列产品支持IPV350不支持功能说明获取当前线程可使用的Device资源。获取时按照如下优先级返回valueStream级别的Device资源限制调用aclrtSetStreamResLimit接口设置 当前进程的Device资源限制调用aclrtSetDeviceResLimit接口设置 AI处理器硬件默认的资源限制参数说明参数名输入/输出说明type输入资源类型请参见aclrtDevResLimitType。value输出资源数量。返回值说明返回0表示成功返回其他值表示失败请参见aclError。【免费下载链接】runtime本项目提供CANN运行时组件和维测功能组件。项目地址: https://gitcode.com/cann/runtime创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考