文档首页 > > 推理场景> 应用软件开发指南 (C&C++)>

使用约束

使用约束

分享
更新时间:2021/02/27 GMT+08:00
  • 不支持使用fork函数创建多个进程,且在进程中调用AscendCL接口的场景,否则进程运行时会报错或者卡死 。
  • 不支持在aclrtMemcpyAsync、aclrtMemsetAsync接口等异步操作内存过程中使用fork以及封装了fork的函数,如system、posix_spawnp等,否则会导致进程运行时会报错,甚至卡死等不可预期的错误。
  • 对于销毁类接口(例如:aclrtDestroyStream、aclrtDestroyEvent、aclrtFree、aclDestroyDataBuffer等),用户调用该类接口后,不能继续使用已释放或销毁的资源,建议用户调用销毁类接口后,将相关资源设置为无效值(例如,置为NULL)。
  • 一个Device上最多只能支持64个用户进程。
  • 使用AscendCL提供的内存申请接口(例如aclrtMalloc、acldvppMalloc等)申请内存后,为确保内存中不会有脏数据,建议在使用内存前先调用aclrtMemsetaclrtMemsetAsync接口先清空内存,例如aclrtMemset(devBufferPtr, devBufferSize, 0, devBufferSize)。
分享:

    相关文档

    相关产品