다음을 통해 공유


IDMLBindingTable::BindTemporaryResource 메서드(directml.h)

임시 스크래치 메모리로 사용할 버퍼를 바인딩합니다. IDMLDispatchable::GetBindingProperties를 호출하여 이 버퍼 범위의 필요한 크기를 확인할 수 있습니다.

IDMLDispatchable에 대한 바인딩 속성이 임시 리소스의 크기를 0으로 지정하는 경우 이 메서드에 nullptr을 제공할 수 있습니다(바인딩할 리소스가 없음). 그렇지 않으면 IDMLDispatchable::GetBindingProperties에서 반환된 필수 TemporaryResourceSize만큼 큰 DML_BINDING_TYPE_BUFFER 형식의 바인딩을 제공해야 합니다.

임시 리소스는 일반적으로 연산자를 실행하는 동안 스크래치 메모리로 사용됩니다. 임시 리소스의 내용은 실행 전에 정의할 필요가 없습니다. 예를 들어 DirectML은 연산자를 바인딩하거나 실행하기 전에 임시 리소스의 콘텐츠를 0으로 지정할 필요가 없습니다.

임시 버퍼의 내용을 보존할 필요가 없으며 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
라이브러리 DirectML.lib
DLL DirectML.dll

추가 정보

DirectML의 바인딩

IDMLBindingTable