parfor ループのコンパイルの制御
既定では、MATLAB® Coder™ は複数のスレッド上で parfor ループを実行できるコードを生成します。parfor ループを単一スレッド上で実行される for ループとして扱うには、以下のいずれかの方法で parfor を無効にします。
コマンド ラインで
-O disable:openmpオプションを指定して関数codegenを使用する。プロパティ
EnableOpenMPを false に設定してコード生成構成オブジェクトを使用する。以下に例を示します。cfg = coder.config('lib'); cfg.EnableOpenMP = false; codegen myFunction -config cfg
[プロジェクトの設定] ダイアログ ボックスの [すべての設定] タブで、[可能な場合は OpenMP ライブラリを有効にする] を
[いいえ]に設定する。
parfor を無効にする場合
以下の操作を行う場合は、parfor を無効にします。
生成されたコードの逐次バージョンと並列バージョンの実行時間を比較する。
障害を調査する。生成されたコードの並列バージョンが失敗する場合、
parforを無効にして逐次バージョンを生成してデバッグを容易にする。OpenMP をサポートしない C コンパイラを使用する。