Кто-нибудь знает способ запросить количество физических ядер из 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 он зависает на целую вечность.