ver tiene tengo servidor saber que procesadores procesador por fĂ­sicos cuantos cores con como caracteristicas cantidad parallel-processing julia-lang cpu-cores

parallel-processing - tiene - ver caracteristicas cpu linux



Obtenga la cantidad de nĂșcleos de CPU en Julia (4)

No estoy 100% seguro de esto, pero CPU_CORES devuelve la cantidad de núcleos (hiperhilo) en mi máquina (OSX 10.9.5 y Julia 0.3.5), incluso cuando inicio Julia en modo serie. He estado comprobando la cantidad de núcleos disponibles usando nworkers() y nprocs() . Iniciando Julia sin el indicador -p esto devuelve 1 para ambos.

Cuando empiezo julia como julia -p 4

julia> nprocs() 5 julia> nworkers() 4

En ambos casos, CPU_CORES devuelve 8.

Quiero obtener la cantidad de núcleos disponibles en Julia. Actualmente estoy haciendo lo siguiente:

using PyCall @pyimport psutil nCores = psutil.cpu_count()

Esto llama una función de Python. Me gustaría, sin embargo, usar algún procedimiento de Julia. ¿Cómo puede hacerse esto?


No conozco a Julia, pero "psutil.cpu_count (logical = False)" en Python te da la cantidad de CPUs físicas (las de hipervínculo no se cuentan).


La respuesta de JoshAdel es correcta: Base.CPU_CORES mantiene la cantidad de núcleos disponibles, incluidos los virtuales.

Estoy agregando esta respuesta para notar una alternativa: usar el paquete Hwloc . De la descripción del proyecto,

Este paquete de Julia envuelve la biblioteca hwloc.

El paquete de software Portable Hardware Locality (hwloc) proporciona una abstracción portátil (a través de SO, versiones, arquitecturas, ...) de la topología jerárquica de las arquitecturas modernas, incluidos los nodos de memoria NUMA, sockets, cachés compartidos, núcleos y multithreading simultáneo. También reúne diversos atributos del sistema, como la memoria caché y la información de memoria, así como la ubicación de los dispositivos de E / S, como las interfaces de red, InfiniBand HCA o GPU. Su principal objetivo es ayudar a las aplicaciones a recopilar información sobre hardware informático moderno a fin de explotarlo de manera adecuada y eficiente.

También desde la página del proyecto, la forma de obtener la cantidad de núcleos físicos y {núcleos físicos, virtuales} (es decir, unidades de procesamiento) es la siguiente:

import Hwloc topology = Hwloc.topology_load() counts = Hwloc.histmap(topology) ncores = counts[:Core] npus = counts[:PU] println("This machine has $ncores cores and $npus PUs (processing units)")

El beneficio de usar este paquete radica en su capacidad portátil para distinguir entre núcleos físicos y virtuales, algo que actualmente no está disponible en Julia. Sin embargo, hay una petición para incluir esta habilidad en la base del lenguaje.


En versiones recientes de Julia, puede usar Sys.CPU_CORES (y no Base.CPU_CORES como se mencionan algunas respuestas). Probado en 0.6.