Как я могу запросить количество физических ядер из MATLAB?

Кто-нибудь знает способ запросить количество физических ядер из MATLAB? Я хотел бы получить именно количество физических, а не логических ядер (которые могут отличаться при включенной гиперпоточности).

Мне нужно, чтобы метод был кроссплатформенным (Windows и Linux, Mac не интересует), но я буду рад использовать два отдельных метода с оператором switch, основанным на выводе computer.

Пока что я пробовал:

  1. java.lang.Runtime.getRuntime().availableProcessors
  2. System.Environment.ProcessorCount
  3. !wmic cpu get NumberOfCores и !wmic cpu get NumberOfLogicalProcessors.

1 является кроссплатформенным, но возвращает количество логических, а не физических процессоров.

2 - только для Windows, и также возвращает логические, а не физические процессоры.

3 выдает количество физических и логических процессоров, но тоже только для Windows, и хотя я могу успешно использовать его из командного окна DOS, по какой-то причине при запуске из MATLAB он зависает на целую вечность.

7
задан Sam Roberts 29 November 2011 в 13:21
поделиться