全,
我最近在我们的集群上安装了tensorflow,并且一直在运行then MNIST示例代码来测试安装。我对tensorflow增加CPU数量会如何影响tensorflow的性能很感兴趣。为此,我使用不同数量的内核运行了相同的示例代码,但tensorflow似乎在可伸缩性方面做得不好。我从另一个堆栈溢出问题中发现,tensorflow会自动使用所有可用的CPU,并在运行作业时假设这是真的。
在编号的图下面可以找到。核数与耗时之比。这是5次试验的平均值,核心数从1到28。

有没有解释为什么伸缩性这么差?我并没有期望随着内核数量的增加而不断增加,因为据我所知,通信b/w内核将被考虑在内。但我希望看到一条“U形”曲线,对于这个特定的代码来说,它具有最优的核心数量。
感谢我能得到的任何帮助。
发布于 2016-11-29 03:03:14
如何在不同数量的内核上运行?Tensorflow默认使用两个线程池,每个线程池的线程数量与机器中的核心总数相关,所以您看到的可能是噪声,tensorflow总是以相同数量的线程运行(查看其CPU使用率以确认)。
如果你想限制tensorflow使用的核心数量,你可以通过config proto来实现。
https://stackoverflow.com/questions/40747557
复制相似问题