IDMLBindingTable::BindOutputs 메서드(directml.h)
리소스 집합을 출력 텐서로 바인딩합니다.
컴파일된 연산자에 바인딩하는 경우 바인딩 수는 선택적 텐서를 포함하여 연산자의 입력 수와 정확히 일치해야 합니다. 연산자를 만드는 데 사용되는 연산자 설명에서 확인할 수 있습니다. 바인딩이 너무 많거나 너무 적은 경우 디바이스 제거가 발생합니다. 선택적 텐서의 경우 DML_BINDING_TYPE_NONE 사용하여 '바인딩 없음'을 지정할 수 있습니다. 그렇지 않으면 연산자를 만들 때 바인딩 형식이 텐서 형식과 일치해야 합니다.
연산자 이니셜라이저의 경우 출력 바인딩은 이니셜라이저를 만들거나 초기화할 때 연산자가 지정한 순서대로 제공되는 각 연산자의 영구 리소스입니다. 특정 연산자에 영구 리소스가 필요하지 않은 경우 해당 슬롯에서 빈 바인딩을 증명해야 합니다.
모든 입력 리소스의 바인딩을 해제하려면 rangeCount 0과 바인딩에 대해 nullptr 값을 제공합니다.
두 출력 텐서의 쓰기 가능 영역은 서로 겹치지 않아야 합니다. 바인딩되는 출력 버퍼의 '쓰기 가능 영역'은 텐서 설명에 지정된 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 |
라이브러리 | DirectML.lib |
DLL | DirectML.dll |