Ich weiß, dass ähnliche Fragen gestellt wurden, aber ich denke, mein Fall ist ein bisschen anders.
Angenommen, ich habe einen Computer mit 8 Kernen und unendlich viel Speicher mit einem Linux-Betriebssystem.
Ich habe eine Berechnungssoftware namens Gaussian, die Multithreading nutzen kann. Deshalb habe ich die Fadenzahl für eine einzelne Berechnung auf 8 gesetzt, um die maximale Geschwindigkeit zu erreichen. Ich kann mich jedoch wirklich nicht entscheiden, was ich tun soll, wenn ich beispielsweise 8 Berechnungen gleichzeitig ausführen muss. In diesem Fall sollte ich die Thread-Anzahl für jeden Job auf 1 setzen (insgesamt 8 Threads, die in 8 Prozessen erzeugt wurden) oder 8 behalten (insgesamt 64 Threads, die in 8 Prozessen erzeugt wurden)? Macht es wirklich viel aus? Eine verwandte Frage ist, ob das Betriebssystem das Core-Parking automatisch für jeden Thread auf verschiedene Cores anwendet.
EDIT: Ich weiß, das Benchmarking ist der beste Weg zu wissen. Die Computer gehören meiner Universität und sind die ganze Zeit beschäftigt. Mit anderen Worten, seine Arbeitsbelastung ist für mich unkontrollierbar unterschiedlich, weil andere Leute diese Computer auch für ihre Berechnungen verwenden, was das Experimentieren unmöglich macht. Auch die Software ist sehr teuer (1500 $ oder so) und für jeden Computer lizenziert, so dass ich nicht einfach einen Benchmark auf meinem PC ausführen kann ...