我要评分文档获取效率文档正确性内容完整性文档易理解0/200提交在线提单论坛求助昇腾小AI 使用约束 表1 总体约束列表 分类 约束项 关于低功耗 进入系统休眠前,需要确保不下发AI推理、媒体数据处理等相关业务,或者退出业务进程。等待系统唤醒成功后,再继续下发业务或重启业务进程。 关于进程 不支持使用fork函数以及封装了fork的函数(如system、posix_spawnp等)创建多个子进程,且在进程中调用AscendCL接口的场景,否则进程运行时会报错或者卡死 。 对于Atlas 200/300/500 推理产品,物理机场景下,一个Device上最多只能支持64个用户进程,Host最多只能支持Device个数*64个进程;虚拟机场景下,一个Device上最多只能支持32个用户进程,Host最多只能支持Device个数*32个进程。 对于Atlas 训练系列产品,物理机场景下,一个Device上最多只能支持64个用户进程,Host最多只能支持Device个数*64个进程;虚拟机场景下,一个Device上最多只能支持32个用户进程,Host最多只能支持Device个数*32个进程。 对于Atlas 推理系列产品,物理机场景下,一个Device上最多只能支持64个用户进程,Host最多只能支持Device个数*64个进程;虚拟机场景下,一个Device上最多只能支持32个用户进程,Host最多只能支持Device个数*32个进程。 对于Atlas 200/500 A2推理产品,一个Device上最多只能支持64个用户进程,Host最多只能支持Device个数*64个进程。 对于Atlas A2训练系列产品/Atlas 800I A2推理产品,一个Device上最多只能支持63个用户进程,Host最多只能支持Device个数*63个进程。 关于创建类和销毁类接口 对于创建类接口(例如:aclrtCreateStream、aclrtCreateEvent、aclCreateDataBuffer等),用户调用该类接口创建对应的资源后,资源使用完成后,建议及时调用对应的销毁类接口(例如:aclrtDestroyStream、aclrtDestroyEvent、aclDestroyDataBuffer等),否则,程序可能会异常。 对于销毁类接口(例如:aclrtDestroyStream、aclrtDestroyEvent、aclrtFree、aclDestroyDataBuffer等),用户调用该类接口后,不能继续使用已释放或销毁的资源,建议用户调用销毁类接口后,将相关资源设置为无效值(例如,置为NULL)。 关于内存 不支持在aclrtMemcpyAsync、aclrtMemsetAsync接口等异步操作内存过程中使用fork以及封装了fork的函数,如system、posix_spawnp等,否则会导致进程运行时会报错,甚至卡死等不可预期的错误。 使用AscendCL提供的内存申请接口(例如aclrtMalloc)申请内存后,为确保内存中不会有脏数据,建议在使用内存前先调用aclrtMemset或aclrtMemsetAsync接口先清空内存,例如aclrtMemset(devBufferPtr, devBufferSize, 0, devBufferSize)。 Ascend RC形态下,如果应用程序中涉及aclrtMalloc、acldvppMalloc、hi_mpi_dvpp_malloc等内存申请接口,应用程序在Device上运行时,当前默认在内存不足时,应用程序可能会挂起,等待内存资源,用户可以根据实际需求选择启用操作系统提供的一些配置(例如,enable_oom_killer),这样在内存不足时,应用程序会自动退出,不会一直等待。 若启用enable_oom_killer,您需登录Device,在“/proc/sys/vm”目录下,以root用户启用enable_oom_killer,命令示例如下,1表示启用,0表示禁用: echo 1 > enable_oom_killer 旧版本昇腾AI处理器->新版本昇腾AI处理器的应用迁移 需在迁移后的昇腾AI处理版本上重新转换模型、编译应用程序,否则可能存在应用执行异常的情况。 父主题: 附录 搜索结果找到“0”个结果当前产品无相关内容未找到相关内容,请尝试其他搜索词