【问题标题】:Does TensorFlow view all CPUs of one machine as ONE device?TensorFlow 是否将一台机器的所有 CPU 视为 ONE 设备?
【发布时间】:2016-12-14 15:29:40
【问题描述】:

从我运行的实验来看,TensorFlow 似乎自动使用了一台机器上的所有 CPU。此外,TensorFlow 似乎将所有 CPU 都称为 /cpu:0。

我说得对吗,只有一台机器的不同 GPU 被编入索引并被视为单独的设备,而一台机器上的所有 CPU 都被视为一个设备?

有没有什么方法可以让一台机器有多个 CPU 从 TensorFlow 的角度来查看它?

【问题讨论】:

    标签: python tensorflow


    【解决方案1】:

    默认情况下,进程可用的所有 CPU 都聚集在 cpu:0 设备下。

    mrry here 的回答展示了如何创建逻辑设备,例如 /cpu:1/cpu:2

    似乎没有将逻辑设备固定到特定物理内核或能够在 tensorflow 中使用 NUMA 节点的工作功能。

    一种可能的解决方法是在一台机器上使用具有多个进程的分布式 TensorFlow,并在 Linux 上使用 taskset 将特定进程固定到特定内核

    【讨论】:

    • 你能给我一个提示(源代码位置),Tensorflow 在哪里使用“一个”CPU 的多核来运行图形的一个分区?因为据我了解,TF 将图划分为多个分区,每个分区将由其对应的执行器在一台设备上运行。但我的问题是多核cpu如何执行分区?
    • 我希望 TensorFlow 不看到/知道除一个之外的其他内核。我该怎么做?
    猜你喜欢
    • 1970-01-01
    • 2020-12-05
    • 2020-09-17
    • 1970-01-01
    • 2015-07-13
    • 2018-07-19
    • 2015-10-21
    • 2018-10-27
    • 1970-01-01
    相关资源
    最近更新 更多