Nutzt 'make' mehrere Kerne / Threads? (Linux)

1644
LoganJamison

Wir überlegen uns eine neue Workstation (Fedora 25/26) und würden gerne wissen, was eine gute CPU wäre. Zunächst muss ich wissen, wie viele Kerne ich brauche. Um das zu entscheiden, möchte ich sehen, wie eine der Anwendungen, die ich verwenden werde, viele Preforms verwendet.

Nutzt 'make' Multi-Core / Multi-Thread? Was ist mit Multi-CPU? Wäre die Kernelherstellung beispielsweise bei mehreren Kernen wesentlich kürzer oder wäre der Unterschied nicht spürbar?

Ich mache hier keine wissenschaftlichen Berechnungen, daher werden mich ein paar Millisekundenunterschied nicht stören.

0
Überprüfen Sie die `make` [manpage] (https://linux.die.net/man/1/make), und zwar die Option` -j`. Mokubai vor 6 Jahren 3
* "Macht" Multi-Core- / Multi-Thread-Vorteile? "* - Ja," make "kann gleichzeitige Jobs ausführen. sawdust vor 6 Jahren 0
Meinst du damit, dass ich mehrere Instanzen von "make" gleichzeitig ausführen kann oder dass eine "make" -Instanz mehrere Kerne nutzen kann? Die Manpage ist nicht so genau. LoganJamison vor 6 Jahren 0

1 Antwort auf die Frage

1
music2myear

Ja: https://www.gnu.org/software/make/manual/html_node/Parallel.html

GNU make kann mehrere Rezepte gleichzeitig ausführen. Normalerweise führt make immer nur ein Rezept aus und wartet, bis es beendet ist, bevor das nächste ausgeführt wird. Die Option '-j' oder '--jobs' weist make jedoch an, viele Rezepte gleichzeitig auszuführen. Sie können die Parallelität in einem bestimmten Makefile mit dem .NOTPARALLEL-Pseudo-Ziel verhindern (siehe Spezielle eingebaute Zielnamen).

Die Frage, die Sie stellen müssen, ist nicht, ob MAKE mehrere Threads nutzen kann, sondern ob Sie dies benötigen. Sind die Anwendungen, die Sie erstellen, eine Sortierung, die von MAKE in mehreren diskreten Rezepten zusammengestellt werden kann?

Um ehrlich zu sein, ist es ausnahmsweise schwierig, heute einen Nicht-Multicore-Prozessor zu finden. Warum also schon die Frage? Wenn Sie ein Budget haben, wird Ihr Computer wahrscheinlich über mindestens 4 logische Verarbeitungseinheiten verfügen.

Die übrige Frage können wir hier nicht beantworten: Welche Belastungen werden Ihre Anwendungen auf einem MAKE-Server ablegen?

Ich hatte vor, möglicherweise eine Ryzen-CPU hinzuzufügen, erwog jedoch auch einen Prozessor mit niedrigeren Kosten mit einer höheren Taktrate und weniger Kernen / Threads und möglicherweise eine MoBo mit einem Mini-ITX-Formfaktor (für einen kleinen Fall möglicherweise als) Ryzen geht nur zu Micro-ATX, wenn ich mich recht erinnere. LoganJamison vor 6 Jahren 1