Кто-нибудь знает способ запросить количество физических ядер из MATLAB? Я бы хотел получить количество физических, а не логических ядер (которые могут отличаться при включенной гиперпоточности).
Мне нужен кроссплатформенный метод (Windows и Linux, не заботятся о Mac), но я был бы рад использовать два отдельных метода с оператором switch
, основанным на выводе computer
.
Пока я пробовал:
java.lang.Runtime.getRuntime().availableProcessors
System.Environment.ProcessorCount
!wmic cpu get NumberOfCores
и !wmic cpu get NumberOfLogicalProcessors
.
1 является кроссплатформенным, но возвращает количество логических, а не физических процессоров.
2 - только Windows, и также возвращает логические, а не физические процессоры.
3 предоставляет как физические, так и логические процессоры, но также только для Windows, и хотя я могу успешно использовать его из командного окна DOS, по какой-то причине он кажется зависшим на вечность при запуске из MATLAB.