matlab - 如何从 MATLAB 查询物理内核数?

标签 matlab operating-system multicore hyperthreading

有谁知道从 MATLAB 查询物理核心数的方法吗?我特别想获得物理内核的数量而不是逻辑内核的数量(启用超线程时可能会有所不同)。

我需要跨平台的方法(Windows 和 Linux,不关心 Mac),但我很乐意使用两个单独的方法和基于计算机的输出。

到目前为止我已经尝试过:

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

1 是跨平台的,但返回逻辑而非物理处理器的数量。

2 仅适用于 Windows,并且还返回逻辑处理器而不是物理处理器。

3 提供了物理和逻辑处理器,但也仅限于 Windows,虽然我可以从 DOS 命令窗口成功使用它,但出于某种原因,当从 MATLAB 运行时它似乎永远挂起。

最佳答案

您需要使用未记录的命令

feature('numcores')

如此处解释:http://undocumentedmatlab.com/blog/undocumented-feature-function/

关于matlab - 如何从 MATLAB 查询物理内核数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8311426/

相关文章:

arrays - MATLAB:大于 N 的组的二进制数组计数

matlab - 在matlab中是否可以隐藏从handle类继承的方法?

编译交叉编译器来编译内核,使用MinGW

java - 单 Java 线程运行时的双核 CPU 利用率

optimization - Haskell中自动并行的现状

.net - 为什么.net 4.5 中的多核 JIT 不是 "on by default"?

matlab - 使用指定的 mu 和 sigma 的 Z 分数

css - HTML 从 Windows 更改为 Mac

parallel-processing - 多核MPI?

matlab - 我是否总是需要使用元胞数组将多个值分配给结构体数组?