行優先の配列レイアウトに最適化されたアルゴリズムを使用
説明
特定のブロックでは、行優先形式のコード生成のための最適化されたアルゴリズムと、モデル シミュレーション用の対応する行優先アルゴリズムを有効にします。
カテゴリ: 数学とデータ型
設定
既定の設定: オフ
[配列のレイアウト] (Simulink Coder) が [行優先]
に設定されている場合、コード ジェネレーターはアルゴリズムを使用してシミュレーションと生成コード間の数値結果の整合性を維持します。場合によって、これらのアルゴリズムの生成コードが非効率になることがあります。[行優先の配列レイアウトに最適化されたアルゴリズムを使用] コンフィギュレーション パラメーターを有効にして、特定のブロック向けに最適化された効率的なアルゴリズムを有効にすることができます。[行優先の配列レイアウトに最適化されたアルゴリズムを使用] パラメーターはシミュレーションと生成コードに影響します。
このパラメーターは次のブロックに対してのみ影響します。
Sum of Elements ()
Product of Elements ()
n-D Lookup Table
Interpolation Using Prelookup
Direct Lookup Table (n-D)
これらのブロックでは、列優先のアルゴリズムと行優先のアルゴリズムは出力計算の順序が異なる場合があり、結果的に数値がわずかに異なる可能性があります。
オン
[配列のレイアウト] が
[行優先]
に設定されている場合、このパラメーターは、データを行優先の順序で処理する効率的なアルゴリズムの使用を有効にします。生成されたコードは効率的です。[配列のレイアウト] が
[列優先]
に設定されている場合、このパラメーターは、データを行優先の順序で処理するアルゴリズムの使用を有効にします。生成されたコードは非効率的です。
オフ
[配列のレイアウト] が
[行優先]
に設定されている場合、コード ジェネレーターはデータを列優先の順序で処理するアルゴリズムを使用します。生成されたコードは非効率的です。[配列のレイアウト] が
[列優先]
に設定されている場合、コード ジェネレーターはデータを列優先の順序で処理するアルゴリズムを使用します。生成されたコードは効率的です。
ヒント
[配列のレイアウト] が [行優先]
に設定されている場合、行優先のアルゴリズムはメモリ内で連続しているテーブル データで動作します。このテーブル データによって、キャッシュ アクセスが迅速化し、これらのアルゴリズムがキャッシュ対応になります。
以下の表に、配列レイアウトとキャッシュ対応のアルゴリズムとの関係をまとめます。優れたパフォーマンスを得るには、指定された配列レイアウトに最適化されているアルゴリズムを使用することをお勧めします。たとえば、コード生成の [配列レイアウト] が [行優先]
に設定されている場合は、[行優先の配列レイアウトに最適化されたアルゴリズムを使用] を選択します。
ArrayLayout | UseRowMajorAlgorithm | 適用されるアルゴリズム |
---|---|---|
列優先 | 'off' | 効率的な列優先のアルゴリズム 推奨 |
行優先 | 'off' | 非効率的な列優先のアルゴリズム 非推奨 |
列優先 | 'on' | 非効率的な行優先のアルゴリズム 非推奨 |
行優先 | 'on' | 効率的な行優先のアルゴリズム 推奨 |
コマンド ライン情報
パラメーター: UseRowMajorAlgorithm |
型: 文字ベクトル |
値: 'on' | 'off' |
既定の設定: 'off' |
推奨設定
アプリケーション | 設定 |
---|---|
デバッグ | 影響なし |
トレーサビリティ | 影響なし |
効率性 | 影響なし |
安全対策 | 影響なし |
関連するトピック
- [数学とデータ型] ペイン
- 行列および配列のコード生成 (Simulink Coder)
- 行優先の配列レイアウトのための行優先のアルゴリズム (Simulink Coder)