質問

MATLABから物理コアの数を照会する方法を知っている人はいますか?私は特に、論理的なコアではなく物理的な数を取得したいと思います(これは、ハイパースレッドが有効になっている場合に異なる場合があります)。

クロスプラットフォーム(WindowsとLinux、Macを気にしない)にする方法が必要ですが、2つの別々の方法を使用して喜んでいます。 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から実行すると永遠にぶら下がっているようです。

役に立ちましたか?

解決

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

feature('numcores')

ここで説明したように: http://undocumentedmatlab.com/blog/undocumented-feature-function/

他のヒント

これは機能します

getenv('NUMBER_OF_PROCESSORS')

関数を使用できます 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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top