固定小数点の正味勾配計算に除算を使用
固定小数点勾配の変化量が 2 のべき乗でない場合の正味勾配計算の実行方法
モデル コンフィギュレーション ペイン: 数学とデータ型
説明
[固定小数点の正味勾配計算に除算を使用] パラメーターは、単純性と正確性の条件を満たす場合、Fixed-Point Designer™ ソフトウェアで正味スケーリングを扱うために除算を使って正味スケーリング計算を実行するかどうかを指定します。
依存関係
このパラメーターには Fixed-Point Designer のライセンスが必要です。
設定
オフ
(既定値) | オン
| 整数の逆数の場合にのみ除算を使用
オフ
整数乗算とそれに続くシフトを使って正味スケーリング計算を実行します。
オン
正味スケーリングの有理近似を使って正味スケーリング計算を実行します。これは、単純性と正確性の条件を満たす場合、整数除算、乗算、および加算になります。
整数の逆数の場合にのみ除算を使用
正味勾配が整数の逆数で表現され、単純性と正確性の条件を満たす場合、除算を使って正味勾配計算を実行します。
ヒント
この最適化は、シミュレーションとコード生成の両方に影響します。
固定小数点勾配の変化量が 2 のべき乗でない場合は、正味スケーリング計算が必要です。通常、正味スケーリング計算には、整数乗算とそれに続くシフトが使用されます。この最適化を有効にすると、特定の単純性と正確性の条件下で、乗算とシフトが整数除算、乗算、および加算に置き換えられます。
除算を使った正味スケーリング計算が、乗算とそれに続くシフトを使用した正味スケーリング計算よりも常に効率的であるわけではありません。ターゲット ハードウェアが効率的な除算に対応していることを確認してください。
この最適化が確実に行われるようにするには、次の手順に従います。
ターゲット ハードウェアの
long
データ型を使用して除算を実行できるように、ブロックの語長を設定します。この設定により、マルチワード処理が使用されません。[ハードウェア実行] ペインの [符号付き整数の除算の丸め] コンフィギュレーション パラメーターを
[ゼロ方向]
または[負方向]
に設定します。このパラメーターを[未定義]
に設定すると、最適化が行われません。ブロックの [整数丸めモード] パラメーターを
[シンプルな丸め]
に設定するか、[ハードウェア実行] ペインの [符号付き整数の除算の丸め] コンフィギュレーション パラメーターの設定値に設定します。
次の表は、このパラメーターがさまざまな固定小数点演算に与える影響をまとめています。
演算 | [固定小数点の正味勾配計算に除算を使用] が | [固定小数点の正味勾配計算に除算を使用] が |
---|---|---|
乗算 | 2 のべき乗でない勾配または非ゼロ バイアス、あるいはその両方をもつ固定小数点の乗算演算は、表現が向上します。 | 固定小数点の乗算演算は、レガシ動作に従って行われます。 |
除算 | 2 のべき乗でない勾配または非ゼロ バイアス、あるいはその両方をもつ固定小数点の除算演算は、表現が向上します。 | |
キャスト | 2 のべき乗でない勾配または非ゼロ バイアス、あるいはその両方をもつ固定小数点のキャスト演算は、表現が向上します。 | 固定小数点のキャスト演算は、レガシ動作に従って行われます。 |
推奨設定
アプリケーション | 設定 |
---|---|
デバッグ | 影響なし |
トレーサビリティ | 影響なし |
効率性 | オン (ターゲット ハードウェアが効率的な除算に対応している場合) オフ (対応していない場合) |
安全対策 | 影響なし |
プログラムでの使用
パラメーター: UseDivisionForNetSlopeComputation |
値: 'off' | 'on' | 'UseDivisionForReciprocalsOfIntegersOnly' |
既定の設定: 'off' |
バージョン履歴
R2014b で導入
参考
トピック
- 正味勾配計算 (Fixed-Point Designer)
- モデル コンフィギュレーション パラメーター: コード生成の最適化 (Simulink Coder)