Parallel Computing Toolbox の「NumWorkers」にマシンで使用可能なコアの数を大幅に超える値を設定すると MATLAB R2024a/b がフリーズするのはなぜですか?
10 ビュー (過去 30 日間)
古いコメントを表示
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
2025 年 4 月 18 日
原因は非常に大きな数の MATLAB ワーカーを起動しようとしたことです。
例えば以下のような場合です。
- 「NumWorkers」はクラスタープロファイルで非常に高い数値 (例: 512) に設定されています。
- parpool("Processes") は、ワーカーの数を表す数値引数なしで呼び出されます。
- メモリとコアのマシン リソースが、要求されたワーカーの数をサポートするのに不十分です。
この問題は、R2022b およびそれ以前のリリースでは異なる形で現れる可能性があります。R2023a では、parpool ワーカー数の設定がプロファイルごとにクラスタプロファイルマネージャに移動されました。「Processes」プロファイルでは、この値は Inf に設定されていたため、「NumWorkers」プロパティがparpool("Processes")のデフォルトの並列プールサイズを決定するようになりました。
この問題を解決するには、次のいずれかの回避策を試してください。
- クラスター プロファイルで「NumWorkers」をデフォルトまたはそれより低い値に設定します。
- 「PreferredNumPoolWorkers」をより低い値に設定します。
ご参考:
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で クラスターとクラウド についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!