Gibt es eine Möglichkeit, Bazel zu sagen, wie viele CPU-Kerne er verwenden kann?
Ich erstelle TensorFlow auf einer VMware Workstation und bin eine virtuelle Maschine. Ich kann die Anzahl der Prozessoren und Kerne für die virtuelle Maschine anpassen.
Bei der Entwicklung von TensorFlow habe ich festgestellt, dass nur ein Kern funktioniert. Wenn ich der Workstation vier Kerne gebe und TensorFlow erstelle, wird das System schließlich an dem Punkt angehalten, an dem ich neu starten muss.
Wenn ich ein paar Stunden warte (lasse es über Nacht stehen), kommt es manchmal mit dem folgenden Fehler zurück:
gcc: interner Compilerfehler: Killed (Programm cc1plus)
Obwohl ich die Anzahl der Kerne mit den Konfigurationsoptionen der virtuellen Maschinen ändern kann, würde ich es bevorzugen, dies zu tun, ohne die virtuelle Maschine herunterfahren und neu starten zu müssen.
Aus dem Bazel-Benutzerhandbuch
--local_resources verfügbareRAM, availableCPU , availableIO
Diese Option, die drei durch Kommas getrennte Gleitkommazahlen benötigt Argumente, gibt die Menge an lokalen Ressourcen an, die Bazel einnehmen kann Berücksichtigung bei der Planung von Build- und Testaktivitäten. Möglichkeit erwartet die Größe des verfügbaren RAM (in MB), die Anzahl der CPU - Kerne (mit 1.0 (Einzelkern) und Workstation - E / A - Funktionalität (mit 1.0, die durchschnittliche Arbeitsstation darstellt). Standardmäßig wird Bazel die Menge an RAM und die Anzahl der CPU-Kerne direkt vom System abschätzen Konfiguration und wird 1.0 I / O-Ressource annehmen.
Wenn diese Option verwendet wird, ignoriert Bazel beide --ram_utilization_factor.