HLSL シェーダー モデル 6.4

HLSL シェーダー モデル 6.4 に追加された機械学習の組み込みについて説明します。

シェーダー モデル 6.4

これらの組み込み関数は、シェーダー モデル 6.4 の必須/サポートされる機能です。 したがって、シェーダー モデル 6.4 の使用を保証する以外に、個別の機能ビット チェックは必要ありません。 これらのルーチンでサポートされる最小クライアントは、バージョン 1903 Windows 10です。

網かけ言語の組み込み

4 つの要素の符号なし整数Dot-Productと累積

uint32 dot4add_u8packed(uint32 a, uint32 b, uint32 acc); // ubyte4 a, b;

  add を含む 4 次元符号なし整数ドット積。 2 つの入力 DWORD の符号なし 8 ビット int バイトの対応する各ペアを乗算し、結果を 32 ビット符号なし整数アキュムレータに合計します。 この命令は、32 ビット幅の単一 SIMD レーン内で動作します。 入力も 32 ビットの数量と見なされます。  

4 つの要素の符号付き整数Dot-Productと累積

int32 dot4add_i8packed(uint32 a, uint32 b, int32 acc); // signed byte4 a, b;

add を含む 4 次元符号付き整数ドット積。 2 つの入力 DWORD で符号付き 8 ビット int バイトの対応する各ペアを乗算し、結果を 32 ビット符号付き整数アキュムレータに合計します。 この命令は、32 ビット幅の単一 SIMD レーン内で動作します。 入力も 32 ビットの数量と見なされます。  

単精度浮動小数点 2 要素Dot-Productおよび累積

float dot2add( half2 a, half2 b, float acc );

add を含む half2 ベクトルの 2 次元浮動小数点ドット積。 2 つの半精度浮動小数点入力ベクトルの要素を乗算し、結果を 32 ビット浮動小数点アキュムレータに合計します。 この命令は、32 ビット幅の単一 SIMD レーン内で動作します。 入力は、同じレーンにパックされた 16 ビットの数量です。

これは、低精度の機能ビット (ネイティブの半分と短いサポートが存在することを示す) で説明されています。

SV_ShadingRate

uint shadingRate : SV_ShadingRate

ピクセル シェーダーの各呼び出しによって書き込まれるターゲット ピクセルの数を表す符号なし整数。 有効な値は、 D3D12_SHADING_RATE列挙値のセットに属します。

このシステム値は、 D3D12_VARIABLE_SHADING_RATE_TIER_2 以上のプラットフォームで使用できます。 頂点またはジオメトリ シェーダー ステージの 1 つ以上から書き込むことができます。 ピクセル シェーダー ステージから読み取ることができます。 詳細については、「 可変レート の網かけ」を参照してください。