Juncheng

Results 6 comments of Juncheng

这个很可能是PyTorch链接的cublas.so和OneFlow不是一个版本,OneFlow的版本更高 这里可以考虑加一个检查,强制运行时的cublas和cudnn版本不能低于编译时

> 感觉这个pr是不是没有必要,因为nccl这边在一台机器上默认会去使用IB。 这个是针对之前用户遇到有IB卡但是没有链接而报错的情况,有一些情况下是单机的,集群中任何一个节点没有端口执行IB链接,那么整个集群都禁用IB是合理的。NCCL 的问题这个问题是独立的

> 两种比较简单的fix办法是: > > * 1. 把repeat直接从clear list里移除掉。 > * 2. 在no cast的时候(https://github.com/Oneflow-Inc/oneflow/blob/master/oneflow/core/job_rewriter/auto_mixed_precision.cpp#L130 )插入一个转换为fp32的cast op,然后可以考虑再加一个消除fp32 cast成fp32的pass。 moving mean 和 moving var 是不能通过repeat在连接到BN,因为是mutable消费,必须是var直接连到 Bn

> > > 两种比较简单的fix办法是: > > > > > > * 1. 把repeat直接从clear list里移除掉。 > > > * 2. 在no cast的时候(https://github.com/Oneflow-Inc/oneflow/blob/master/oneflow/core/job_rewriter/auto_mixed_precision.cpp#L130 )插入一个转换为fp32的cast op,然后可以考虑再加一个消除fp32 cast成fp32的pass。 > > > > > >...

> 我的意思是某些op可能存在某个输入是no cast的,但它是非mutable消费的,然后这个op本身又被推导为half,这种情况下如果不针对no cast的输入加一个fp32的cast总是会导致类似的错误。 嗯嗯,我明白了。不过原来有BN的情况下也是支持repeat的

能不能再functor上判断一下并做个cast