Cog*_*tor 7 python mpi mpi4py tensorflow
我来自一种HPC背景,我刚刚开始学习机器学习,尤其是TensorFlow.我最初惊讶地发现,分布式TensorFlow默认是为了与TCP/IP进行通信,尽管考虑到谷歌是什么以及它最常用的硬件类型,事后才有意义.
我有兴趣在集群上以MPI并行方式试验TensorFlow.从我的角度来看,这应该是有利的,因为MPI在没有共享内存的机器上使用远程直接内存访问(RDMA),因此延迟应该低得多.
所以我的问题是,鉴于TensorFlow和机器学习越来越受欢迎,为什么这种方法似乎不常见?延迟不是瓶颈吗?是否有一些典型问题得到解决,这使得这种解决方案不切实际?在并行方式调用TensorFlow函数与在TensorFlow库中实现MPI调用之间是否存在任何有意义的差异?
谢谢
看来tensorflow已经支持MPI,如https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/mpi所述 MPI对tensorflow的支持也在https://arxiv.org/abs/1603.02339中讨论
一般来说,请记住 MPI 最擅长发送/接收消息,但不擅长发送通知和对事件采取行动。最后但并非最不重要的一点是,在 MPI 实现中,多线程应用程序(例如MPI_THREAD_MULTIPLE)的 MPI 支持并不总是可用于生产。这是两个一般性的陈述,老实说,我不知道它们是否与张量流相关。