Parallel Computing Toolbox の「NumWorke​rs」にマシンで使用​可能なコアの数を大幅​に超える値を設定する​と MATLAB R2024a/b がフリーズするのはなぜですか?

10 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2025 年 4 月 18 日
回答済み: MathWorks Support Team 2025 年 4 月 18 日

クラスタープロファイルマネージャーの「NumWorkers」プロパティを、現在使用しているマシンのコア数を大きく超える値(具体的には512)に設定すると MATLAB R2024a および R2024b がフリーズするという問題が発生しています。
私のマシンには 20 個の物理コアがあり、そのうち 8 個は p コア、12 個は e コアです。
この問題の原因は何でしょうか?また、どのように解決すればよいでしょうか? 
実行したコードは以下の通りです。

poolobj = parpool;
disp(poolobj.NumWorkers);
delete(poolobj)
次のエラーメッセージとプロンプトが表示されます。

"Expression: Failed to open local mvm library: The paging file is too small for this operation to complete.

Function: void_cdecl
mvm::detail::MvmLocalBoundMethods::initMethods(const bool)"

採用された回答

MathWorks Support Team
MathWorks Support Team 2025 年 4 月 18 日
原因は非常に大きな数の MATLAB ワーカーを起動しようとしたことです。
例えば以下のような場合です。
- 「NumWorkers」はクラスタープロファイルで非常に高い数値 (例: 512) に設定されています。
- parpool("Processes") は、ワーカーの数を表す数値引数なしで呼び出されます。
- メモリとコアのマシン リソースが、要求されたワーカーの数をサポートするのに不十分です。
この問題は、R2022b およびそれ以前のリリースでは異なる形で現れる可能性があります。R2023a では、parpool ワーカー数の設定がプロファイルごとにクラスタプロファイルマネージャに移動されました。「Processes」プロファイルでは、この値は Inf に設定されていたため、「NumWorkers」プロパティがparpool("Processes")のデフォルトの並列プールサイズを決定するようになりました。
この問題を解決するには、次のいずれかの回避策を試してください。
- クラスター プロファイルで「NumWorkers」をデフォルトまたはそれより低い値に設定します。
- 「PreferredNumPoolWorkers」をより低い値に設定します。
ご参考:

その他の回答 (0 件)

カテゴリ

Help Center および File Exchangeクラスターとクラウド についてさらに検索

製品


リリース

リリースが未入力です。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!