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

こちらもご覧ください

DirectML でのバインド

IDMLBindingTable