IDMLBindingTable::BindTemporaryResource メソッド (directml.h)
一時的なスクラッチ メモリとして使用するバッファーをバインドします。 IDMLDispatchable::GetBindingProperties を呼び出すことで、このバッファー範囲の必要なサイズを確認できます。
IDMLDispatchable のバインド プロパティで一時リソースのサイズを 0 に指定した場合は、このメソッドに nullptr を指定できます (バインドするリソースがないことを示します)。 それ以外の場合は、IDMLDispatchable::GetBindingProperties によって返される必要な TemporaryResourceSize と少なくとも同じ大きさの、DML_BINDING_TYPE_BUFFER型のバインドを指定する必要があります。
一時的なリソースは、通常、演算子の実行中にスクラッチ メモリとして使用されます。 一時リソースの内容は、実行前に定義する必要はありません。 たとえば、DirectML では、演算子をバインドまたは実行する前に、一時リソースの内容をゼロにする必要はありません。
一時バッファーの内容を保持する必要はありません。また、GPU で演算子または初期化子の実行が完了するとすぐに、アプリケーションはその内容を自由に上書きまたは再利用できます。 これは、コンテンツを保持し、オペレーターの有効期間を延長する必要がある永続的なリソースとは対照的です。
一時バッファーとしてバインドする指定されたバッファー範囲には、開始オフセットが DML_TEMPORARY_BUFFER_ALIGNMENTに合わせて配置されている必要があります。 バッファーの基になるヒープの型は D3D12_HEAP_TYPE_DEFAULT である必要があります。
構文
void BindTemporaryResource(
[in, optional] const DML_BINDING_DESC *binding
);
パラメーター
[in, optional] binding
型: const DML_BINDING_DESC*
バインドするテンソル リソースの説明を含む DML_BINDING_DESC への省略可能なポインター。
戻り値
なし
必要条件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | directml.h |
Library | DirectML.lib |
[DLL] | DirectML.dll |