2016-08-08 34 views
6

Von den Experimenten, die ich ausführe, scheint TensorFlow automatisch alle CPUs auf einer Maschine zu verwenden. Darüber hinaus scheint TensorFlow auf alle CPUs als/cpu: 0 zu verweisen.Betrachtet TensorFlow alle CPUs einer Maschine als ONE-Gerät?

Bin ich richtig, dass nur die verschiedenen GPUs einer Maschine indiziert und als separate Geräte angezeigt werden, aber alle CPUs auf einer Maschine werden als ein einziges Gerät betrachtet?

Gibt es eine Möglichkeit, dass eine Maschine mehrere CPUs haben kann, die sie aus der Perspektive von TensorFlows betrachten?

Antwort

13

Standardmäßig werden alle für den Prozess verfügbaren CPUs unter Gerät aggregiert.

Es gibt Antwort von mrry here zeigt, wie logische Geräte erstellen, wie /cpu:1, /cpu:2

Es scheint nicht Funktionalität zu arbeiten logische Geräte auf bestimmten physischen Kern mit Pin oder der Lage sein, NUMA-Knoten in tensorflow zu verwenden.

Eine mögliche Behelfslösung ist TensorFlow verteilt mit mehreren Prozessen auf einer Maschine zu verwenden und taskset auf Linux verwenden spezifische Prozesse an bestimmte Kerne festzustecken