IDMLBindingTable::BindOutputs メソッド (directml.h)
一連のリソースを出力テンソルとしてバインドします。
コンパイル済み演算子のバインドの場合、バインディングの数は、省略可能なテンソルを含め、演算子の入力数と正確に一致する必要があります。 これは、演算子の作成に使用される演算子の説明から決定できます。 バインドが多すぎるか少なすぎる場合は、デバイスの削除が発生します。 省略可能なテンソルの場合は、 DML_BINDING_TYPE_NONE を使用して 'バインドなし' を指定できます。 それ以外の場合、バインディングの種類は、演算子の作成時にテンソル型と一致する必要があります。
演算子初期化子の場合、出力バインディングは各演算子の永続的なリソースであり、初期化子の作成時またはリセット時に演算子が指定した順序で指定されます。 特定のオペレーターが永続的なリソースを必要としない場合は、そのスロットで空のバインディングを証明する必要があります。
すべての入力リソースのバインドを解除するには、 rangeCount に 0 を指定し、バインドに nullptr の値 を指定します。
2 つの出力テンソルの書き込み可能な領域は、互いに重複してはなりません。 バインドされている出力バッファーの "書き込み可能領域" は、テンソルの説明で指定された TotalTensorSizeInBytes までのバッファー範囲の開始オフセットとして定義されます。
出力としてバインドされているすべてのバッファーには、ヒープの種類 D3D12_HEAP_TYPE_DEFAULTが必要です。
構文
void BindOutputs(
UINT bindingCount,
[in, optional] const DML_BINDING_DESC *bindings
);
パラメーター
bindingCount
型: UINT
このパラメーターは、 バインディング 配列のサイズを決定します (指定されている場合)。
[in, optional] bindings
型: const DML_BINDING_DESC*
バインドするテンソル リソースの説明を含む DML_BINDING_DESC の定数配列への省略可能なポインター。
戻り値
なし
必要条件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | directml.h |
Library | DirectML.lib |
[DLL] | DirectML.dll |