从我运行的实验中,似乎TensorFlow自动使用一台机器上的所有CPU。此外,似乎TensorFlow将所有CPU称为/ cpu:0。
我是对的,只有一台机器的不同GPU被索引并被视为单独的设备,但是一台机器上的所有CPU都被视为一台设备?
有什么方法可以让机器从TensorFlows视角查看多个CPU吗?
答案 0 :(得分:21)
默认情况下,流程可用的所有CPU都汇总在cpu:0
设备下。
mrry here的答案显示了如何创建/cpu:1
,/cpu:2
似乎没有将逻辑设备固定到特定物理内核或能够在张量流中使用NUMA节点的功能。
可能的解决方法是在一台计算机上使用带有多个进程的分布式TensorFlow,并在Linux上使用taskset
将特定进程固定到特定内核