昇腾社区首页
中文
注册

虚拟地址抢占导致mmap失败

适用场景

  • 业务场景:DVPP,昇腾模型算法,模型转化,精度调优、应用/算子开发,性能调优、TensorFlow训练
  • 适用处理器:Atlas 200/300/500 推理产品Atlas 推理系列产品Atlas 训练系列产品
  • 处理器形态:EP、RC

现象描述

mmap申请失败,Host侧日志显示drvMemDeviceOpen失败,出现如图1日志信息。

图1 drvMemDeviceOpen失败

可能原因

根据日志信息,判断为mmap地址失败。可能原因:

(1)用户程序编译选项中启动了地址消毒(-lasan):asan地址消毒会预留所有的虚拟地址空间,而svm在mmap时也需要预留8T的地址空间,二者冲突,所以mmap时会失败。

(2)用户预留地址与SVM模块预留地址相同。

处理步骤

  1. 关闭编译选项即可。
  2. 查看用户预留地址是否与SVM模块预留地址重叠,需要修改用户预留地址空间。