このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
ターゲット ハードウェアの命令セット拡張を活用
単一命令複数データ (SIMD) コードを生成するための命令セット
R2021b 以降
モデル コンフィギュレーション ペイン: [コード生成] / [最適化]
説明
[ターゲット ハードウェアの命令セット拡張を活用] パラメーターは、ターゲット ハードウェアの単一命令複数データ (SIMD) コードを生成するために使用する命令セットを指定します。
依存関係
このパラメーターを使用するには、[デバイス ベンダー] と [デバイス タイプ] を次の表の値の組み合わせに設定する必要があります。このパラメーターは、[ハードウェア ボード] をこの表のデバイス設定になるボードに設定した場合も使用できます。MATLAB Host Computer を使用した場合は、お使いのコンピューターでサポートされている命令セットのみを選択できます。
| デバイス ベンダー | デバイス タイプ |
|---|---|
Intel | x86-64 (Windows 64) |
x86-64 (Linux 64) | |
Apple | ARM 64 |
AMD | Athlon 64 |
ARM Compatible | ARM Cortex-A (32-bit) |
ARM Cortex-A (64-bit) | |
Generic | MATLAB Host Computer |
設定
SSE2 | SSE | SSE4.1 | AVX | AVX2 | FMA | AVX512F | Neon v7 | なしIntel® ハードウェアの GRT ベースのターゲットに対する命令セット:
SSE2(既定)なし— SIMD コードを生成しません。
Intel ハードウェアの ERT ベースのターゲットに対する命令セット:
SSE(既定)SSE2SSE4.1AVXAVX2FMAAVX512Fなし— SIMD コードを生成しません。
Apple シリコンおよび ARM® Cortex®-A ハードウェアの ERT ベースのターゲットに対する命令セット:
なし(既定) — SIMD コードを生成しません。Neon v7
ERT ベースのターゲットの命令セットのリストでは、命令セットの依存関係が示されています。各命令セットは、それより前の命令セットに依存しています。コード ジェネレーターは、選択した命令セットおよびそれが依存する命令セットを読み込みます。たとえば、AVX を選択した場合、コード ジェネレーターは AVX、SSE4.1、SSE2、および SSE を読み込みます。GRT ベースのターゲットまたは ERT ベースのターゲットで SSE2 を選択した場合、コード ジェネレーターは SSE2 および SSE を読み込みます。
推奨設定
| アプリケーション | 設定 |
|---|---|
| デバッグ | 影響なし |
| トレーサビリティ | 影響なし |
| 効率性 | 影響なし |
| 安全対策 | 影響なし |
プログラムでの使用
パラメーター: InstructionSetExtensions |
| 型: 文字ベクトル |
値: 'None' | 'SSE' | 'SSE2' | 'SSE4.1' | 'AVX' | 'AVX2' | 'FMA' | 'AVX512F' | 'Neon v7' |
制限
一部のカスタム ツールチェーンについては、[命令セット拡張] を
[なし]に設定する必要があります。この制限は、SIMD 命令セットに必要なコンパイラ フラグがカスタム ツールチェーンで生成されず、コンパイルされないコードになる場合に該当します。カスタム ツールチェーンが組み込みのツールチェーンから派生したものである場合や、命令セットに必要なコンパイラ フラグが既定で挿入される場合は、カスタム ツールチェーンで SIMD 命令セットがサポートされることもあります。
DSP System Toolbox™ のブロックには、SIMD コードを生成するには [最適化レベル] 、 [優先度] を
[RAM と速度のバランス]または[実行速度を最大化]に設定しなければならないものがあります。
バージョン履歴
R2021b で導入