How to get the number of logical cores - parallel computing toolbox

69 visualizaciones (últimos 30 días)
Is there a programmatic way to get the number of logical cores? The feature command shows me this in text, but I want a way to directly access the number. The code below returns the number of physical cores. Is there a similar way to do this for logical cores?
numcores = feature('numcores')
numcores =
2
feature('numcores')
MATLAB detected: 2 physical cores.
MATLAB detected: 4 logical cores.
MATLAB was assigned: 4 logical cores by the OS.
MATLAB is using: 2 logical cores.
MATLAB is not using all logical cores because hyper-threading is enabled.
ans =
2

Respuesta aceptada

David Goodmanson
David Goodmanson el 11 de Oct. de 2016
Editada: David Goodmanson el 11 de Oct. de 2016
Hi Miles,
One way would be to use 'evalc', which is like 'eval' but can redirect command window output. You need to double up on single quotes inside the outer quotes, so
core_info = evalc('feature(''numcores'')');
will give you a string variable containing " MATLAB detected .... etc. etc. " which you could then parse to get the number you want.

Más respuestas (1)

Lutz Pegel
Lutz Pegel el 22 de Jun. de 2020
For logical cores this might be easier to use :
getenv('NUMBER_OF_PROCESSORS')

Categorías

Más información sobre Parallel Computing Toolbox en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by