Main Content

JIT コンパイルを使用した MEX 生成速度の高速化

MEX 関数の生成を高速化するには、Just-In-Time (JIT) コンパイル テクノロジーの使用を指定します。MATLAB® コードの変更と MEX コードのテストを反復するときに、このオプションを使用すると時間を節約できます。

既定の設定では、MATLAB Coder™ は C/C++ コードを生成およびコンパイルして "C/C++ MEX" 関数を作成します。JIT コンパイルを指定すると、MATLAB Coder は MATLAB コードの抽象表現を含む "JIT MEX" 関数を作成します。JIT MEX 関数を実行すると、MATLAB はメモリ内に実行可能コードを生成します。

JIT コンパイルは、特定のコード生成機能またはオプションに対応していません。JIT コンパイルの非互換性を参照してください。JIT コンパイルが有効な場合、コード生成中に警告やエラー メッセージがないことは JIT コンパイルが成功したことを示します。コード生成レポートでは、[概要] タブに [ビルド タイプ]JIT MEX Function であることが示されます。

メモ

JIT MEX 関数は、MATLAB Coder ソフトウェアの異なるリリース間で互換性がありません。JIT MEX 関数を実行するには、その関数の生成に使用したものと同じリリースの MATLAB Coder ソフトウェアを使用してください。

MATLAB Coder アプリでの JIT コンパイルの使用の指定

  1. [生成] ダイアログ ボックスを開くために [生成] 矢印 をクリックします。

  2. [ビルド タイプ][MEX] に設定します。

  3. [JIT コンパイルの使用] チェック ボックスを選択します。

コマンド ラインでの JIT コンパイルの使用の指定

codegen コマンドの -jit オプションを使用します。たとえば、myfunction に対して JIT コンパイルを次のように指定します。

codegen -config:mex myfunction -jit -report

あるいは、EnableJIT コード構成パラメーターを使用します。

cfg = coder.config('mex');
cfg.EnableJIT = true;
codegen -config cfg myfunction -report

JIT コンパイルの非互換性

次の表は、JIT コンパイルと互換性がないコード生成機能またはオプションをまとめています。

非互換性メッセージ タイプ生成される MEXアクション
カスタム コード警告C/C++ MEX警告を回避するには、JIT コンパイルを無効にする。
ビルド情報の更新 (coder.updateBuildInfo)警告C/C++ MEX警告を回避するには、JIT コンパイルを無効にする。
for ループの並列化 (parfor) に対する OpenMP アプリケーション インターフェイスの使用警告
  • JIT MEX

  • 並列化なし

for ループの並列化を行う場合は、JIT コンパイルを無効にする。
C/C++ ソース コードのみの生成エラーなしJIT コンパイルまたは C/C++ コードのみの生成を指定する。

参考

関数

オブジェクト

関連するトピック