×

签到

分享到微信

打开微信,使用扫一扫进入页面后,点击右上角菜单,

点击“发送给朋友”或“分享到朋友圈”完成分享

【计算库/通信库】cnMallocPeerAble存在bug 已完结 jacelau2024-06-17 17:05:40 回复 1 查看 技术答疑 使用求助 经验交流
【计算库/通信库】cnMallocPeerAble存在bug
分享到:

【寒武纪硬件产品型号】MLU370

【使用操作系统】ubuntu

【使用驱动版本】v5.10.31

【出错信息】

cnMallocPeerAble分配的显存在大于24字符长度后,使用ib_reg_mr注册显存进行操作,段错误。小于此长度传输正常

字符串测试程序会根据指定的字符串大小分配相应大小的显存。测试中不同长度的字符串触发了不同的错误情况。

小于24长度的字符串成功传输。

大于24长度的均报错,且错误类型不同。

大于24小于1MB,分配的显存在ib操作时候,段错误。

    当分配大于1MB,分配的显存在ib_reg_mr时,ib_reg_mr报cannot alloc memory错误。

    当分配远大于1MB,比如500MB,cnMallocPeerAble分配报错,无法分配。


推测,cnMallocPeerAble函数的实现存在问题。


ps. cnMallocPeerAble的函数签名需要传入的是一个CNaddr的指针,但是实测需要申明CNaddr变量,传入变量地址,而直接申明CNaddr*指针传入会报参数错误。(这个参数检查行为很奇怪)


【相关日志文档】

https://kdocs.cn/l/cbkZ6JNRoEoJ


版权所有 © 2024 寒武纪 Cambricon.com 备案/许可证号:京ICP备17003415号-1
关闭