【发布时间】:2016-12-14 15:29:40
【问题描述】:
从我运行的实验来看,TensorFlow 似乎自动使用了一台机器上的所有 CPU。此外,TensorFlow 似乎将所有 CPU 都称为 /cpu:0。
我说得对吗,只有一台机器的不同 GPU 被编入索引并被视为单独的设备,而一台机器上的所有 CPU 都被视为一个设备?
有没有什么方法可以让一台机器有多个 CPU 从 TensorFlow 的角度来查看它?
【问题讨论】:
标签: python tensorflow
从我运行的实验来看,TensorFlow 似乎自动使用了一台机器上的所有 CPU。此外,TensorFlow 似乎将所有 CPU 都称为 /cpu:0。
我说得对吗,只有一台机器的不同 GPU 被编入索引并被视为单独的设备,而一台机器上的所有 CPU 都被视为一个设备?
有没有什么方法可以让一台机器有多个 CPU 从 TensorFlow 的角度来查看它?
【问题讨论】:
标签: python tensorflow
默认情况下,进程可用的所有 CPU 都聚集在 cpu:0 设备下。
mrry here 的回答展示了如何创建逻辑设备,例如 /cpu:1、/cpu:2
似乎没有将逻辑设备固定到特定物理内核或能够在 tensorflow 中使用 NUMA 节点的工作功能。
一种可能的解决方法是在一台机器上使用具有多个进程的分布式 TensorFlow,并在 Linux 上使用 taskset 将特定进程固定到特定内核
【讨论】: