Yang,Liming
Yang,Liming
FLAGS_rdma_device 指定能否解决这个问题呢? 如果不能的话,可以定义一个rdma_device_gid_filter函数,用于用户实现过滤规则,IsSelfGid这个规则对于你所在的环境是没问题的,但是其它的环境不清楚是否适用。
嗯,感觉写到一个启动脚本里面也可以。我说的其它环境是指非linux环境,比如mac,windows,或者linux环境也有很多,不确定这个处理逻辑是否都能兼容,所以感觉还是提供一个比较通用的方式,能达到平台无关比较好。
问题总结,因为在发送端产生的recv completion event和send completion event的时机不一致,导致接收端产生回复ACK的时候,send completion event可能还没有产生,所以申请sqe的时候就可能失败。 可以让recv completion event和send completion event的产生时机是一致的,这样能保证接收端回复ACK的时候,发送端一定有send completion event产生。具体修改:
这个是client端产生的signaled send wc
我提了一个PR,你有时间看看 @chenBright
void* ExtendBlockPoolByUser(void* region_base, size_t region_size, int block_type); 这个函数支持将用户申请的内存,注册到rdma来使用,能否满足需求呢?
这是GPU内存的限制吗?在GPU内存上直接初始化,和在GPU内存直接修改这块内存的数据,应该是一回事。
这个内存开销是在初始化分配时候有开销,在平时使用过程也会有开销吗?地址动态映射的开销是吗?
> > [@sunce4t](https://github.com/sunce4t) 请教一下,训练使用GPU Direct RDMA的时候,需要精细化管理显存,让每个RPC的数据写入指定的显存吗?还是直接从池子里取一块显存写入? > > [@yanglimingcn](https://github.com/yanglimingcn) [@chenBright](https://github.com/chenBright) hi,如果我们attachment里存放显存地址,在CutFromIOBufList中解析这个attachment,这是否修改难度较小 CutFromIOBufList是在发送消息的时候使用的,解析这块在ProcessRpcRequest这里面。你是打算attachment都直接使用显存的内存吗?
attachment,在接收端,你希望直接用显存来接收吗?