マルチスレッドの数を制限するにはどうすればよいですか?
17 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
マルチCPU/コア の環境を使用しています。コンピュータのリソースの割り当てを調整するため、マルチスレッドの数を制限する方法を教えてください。
Réponse acceptée
MathWorks Support Team
le 4 Juil 2017
マルチスレッドによる計算は MATLAB 7.4 (R2007a) よりサポートされ、MATLAB 7.6 (R2008a) からはデフォルトでマルチスレッドによる計算が選択されるようになりました。
スレッド数を変更する方法としては、次の 2 つがあります。
1. "-singleCompThread" オプションをつけてMATLABを起動する。
このオプションを付けて起動することで、単一のスレッドに制限します。詳細については、以下の URL よりヘルプドキュメントをご覧ください。
・MATLAB: よく使われる起動オプション
https://jp.mathworks.com/help/matlab/matlab_env/commonly-used-startup-options.html
2. OS の機能を使用して MATLAB への CPU の親和性(プロセッサ アフィニティ)を調整する
例えば、Intel 社製マルチコアの CPU を使用している場合、Windows の場合はタスクマネージャ、Linux の場合は taskset コマンドを使用します。
(参考) MATLAB Answers(英語)
https://jp.mathworks.com/matlabcentral/answers/94049-how-do-i-set-processor-affinity-for-matlab-7-7-r2008b-in-linux
Windows の場合の手順は、以下のとおりです。
1. Windows タスク マネージャーを開きます。
2. [プロセス] タブ上で MATLAB.exe を右クリックし、[関係の設定] をクリックし、[プロセッサの関係] ダイアログ ボックスを開きます。
3. [プロセッサの関係] ダイアログ ボックスで現在の設定を確認し、使用する CPU を 選択します。
4. [OK] をクリックします。
なお、特定のバージョンにおいては、以下の設定方法が可能です。
<R2007a から R2008b まで>
MATLAB の [設定] ダイアログにて設定します。
[ファイル] > [設定] > [一般] > [マルチスレッディング] にてスレッド数を指定します。
<R2007b から R2010a まで>
maxNumCompThreads 関数を使用します。
ただし、設定画面における、単一の MATLAB セッションにおける計算スレッドの数の調整機能は MATLAB 7.8 (R2009a) およびそれ以降のバージョンでは使用することができません。
また、MATLAB 7.9 (R2009b) 以降では maxNumCompThreads 関数を使用すると以下の警告が出ます。
警告:maxNumCompThreads will be removed in a future release. Please remove any instances of this function
from your code.
0 commentaires
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!