MATLAB 関数での動的メモリ割り当て
MATLAB コードに動的メモリ割り当てを使用するオプション
モデル コンフィギュレーション ペイン: シミュレーション ターゲット
説明
[MATLAB 関数での動的メモリ割り当て] パラメーターは、MATLAB Function ブロック、Stateflow® チャート、および MATLAB System ブロックの MATLAB® コードについて、シミュレーションとコード生成で動的メモリ割り当てを使用するかどうかを指定します。
動的メモリ割り当てしきい値以上のサイズ (バイト単位) をもつ可変サイズ配列に対して動的メモリ割り当てを使用します。このパラメーターは、MATLAB Function ブロック、Stateflow チャート、または MATLAB System ブロックに関連付けられた System object™ の MATLAB コードに適用されます。このパラメーターはシミュレーション時とコード生成時にモデルに適用されます。このパラメーターは以下には適用されません。
入力信号
出力信号
パラメーター
グローバル変数
MATLAB System ブロックに関連付けられた System object の離散状態プロパティ
動的メモリ割り当てを使用するコードは、静的メモリ割り当てを使用するコードよりも効率が低くなることがあります。動的メモリ割り当てが必要なモデル以外では、このパラメーターはオフにしてください。
動的メモリ割り当ての要求に対応する十分なメモリがないと、動的メモリ割り当てが失敗する可能性があります。メモリ割り当ての要件はコード ジェネレーターでチェックされません。セーフティ クリティカルなアプリケーションの場合、このパラメーターの推奨設定は off です。
設定
on | offonサイズ (バイト単位) が [MATLAB 関数での動的メモリ割り当てしきい値] パラメーターで指定された動的メモリ割り当てしきい値を超える MATLAB コード内の可変サイズ配列に対して、メモリが動的に割り当てられます。
このパラメーターは GRT ベースのコード生成ターゲットでは既定で選択されています。
offMATLAB コードに対しては、動的メモリ割り当ては使用されません。
このパラメーターは ERT ベースのコード生成ターゲットでは既定でオフになります。
推奨設定
| アプリケーション | 設定 |
|---|---|
| デバッグ | 影響なし |
| トレーサビリティ | 影響なし |
| 効率性 | off |
| 安全対策 | off |
プログラムでの使用
パラメーター: MATLABDynamicMemAlloc |
| 型: string | 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'on' |
制限
GPU Coder™ を使用してコードを生成すると、生成コードでは
cudaMallocAPI を使用して GPU のメモリが割り当てられます。そのため、このパラメーターがoffに設定されていても、生成コードで MATLAB 関数に対して動的に GPU メモリが割り当てられることがあります。
バージョン履歴
R2017a で導入