7

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 から実行すると永遠にハングアップするようです。

4

3 に答える 3

9

文書化されていないコマンドを使用する必要があります

feature('numcores')

ここで説明されているように:http://undocumentedmatlab.com/blog/undocumented-feature-function/

于 2011-11-30T07:11:44.597 に答える
3

これはうまくいきます

getenv('NUMBER_OF_PROCESSORS')
于 2014-03-06T12:37:16.503 に答える
1

機能を使用できますmaxNumCompThreads。ただし、非推奨です。それでもMatlab 2011aで動作します。

maxNumCompThreads
Warning: maxNumCompThreads will be removed in a future release. Please remove any
instances of this function from your code. 
> In maxNumCompThreads at 27

ans =

     4
于 2011-11-29T13:42:11.563 に答える