Besorgen Sie sich die Anzahl der CPU-Kerne in Julia

8

Ich möchte die Anzahl der in Julia verfügbaren Kerne erhalten. Derzeit mache ich folgendes:

%Vor%

Dies ruft eine Python-Funktion auf. Ich möchte jedoch ein Julia-Verfahren verwenden. Wie kann es gemacht werden?

    
Pablo 13.01.2015, 20:35
quelle

4 Antworten

6

Ich bin nicht 100% sicher, aber CPU_CORES gibt die Anzahl der (Hyper-Threading) Kerne auf meinem Rechner (OSX 10.9.5 und Julia 0.3.5) zurück, auch wenn ich Julia im seriellen Modus starte . Ich habe die Anzahl der verfügbaren Kerne mit nworkers() und nprocs() überprüft. Wenn Julia ohne das Flag -p gestartet wird, wird 1 für beide zurückgegeben.

Wenn ich Julia als julia -p 4

starte %Vor%

In beiden Fällen gibt CPU_CORES 8 zurück.

    
JoshAdel 15.01.2015, 05:16
quelle
3

In neueren Versionen von Julia können Sie Sys.CPU_CORES (und nicht Base.CPU_CORES als einige Antworten genannt) verwenden. Getestet am 0.6.

    
Timothée Poisot 18.07.2017 15:10
quelle
1

Ich kenne Julia nicht, aber "psutil.cpu_count (logisch = False)" in Python gibt Ihnen die Anzahl der physischen CPUs (Hyper-Thread-Threads werden nicht gezählt).

    
Giampaolo Rodolà 18.01.2015 12:11
quelle
-2

JoshAdel ist die richtige Antwort: Base.CPU_CORES behält die Anzahl der verfügbaren Kerne, einschließlich der virtuellen Kerne.

Ich füge diese Antwort hinzu, um eine Alternative zu erwähnen: Verwenden des Hwloc -Pakets. Aus der Beschreibung des Projekts,

  

Dieses Julia-Paket umschließt die hwloc-Bibliothek.

     

Das Softwarepaket "Portable Hardware Locality" (hwloc) bietet folgende Funktionen: a   portable Abstraktion (über OS, Versionen, Architekturen, ...) der   hierarchische Topologie moderner Architekturen, einschließlich NUMA-Speicher   Knoten, Sockets, Shared Caches, Cores und simultanes Multithreading.   Es sammelt auch verschiedene Systemattribute wie Cache und Speicher   Informationen sowie die Lokalität von E / A-Geräten wie Netzwerk   Schnittstellen, InfiniBand HCAs oder GPUs. Es zielt hauptsächlich darauf ab, zu helfen   Anwendungen mit dem Sammeln von Informationen über moderne Computer   Hardware, um sie entsprechend und effizient auszunutzen.

Auch von der Projektseite ist der Weg, um die Anzahl von physischen Kernen und {physischen, virtuellen} Kernen (d. h. Verarbeitungseinheiten) zu erhalten, wie folgt:

%Vor%

Der Vorteil dieses Pakets liegt in der Möglichkeit, zwischen physischen und virtuellen Kernen zu unterscheiden, was derzeit in Julia nicht möglich ist. Es gibt jedoch eine Petition , um diese Fähigkeit in die Sprachbasis aufzunehmen.

    
Pablo 11.11.2015 00:11
quelle