IDMLDevice::CreateOperatorInitializer 메서드(directml.h)

컴파일된 연산자를 초기화하는 데 사용할 수 있는 개체를 만듭니다.

컴파일되면 연산자를 실행하기 전에 GPU에서 정확히 한 번 초기화해야 합니다. 연산자 이니셜라이저는 하나 이상의 대상 컴파일된 연산자를 초기화하는 데 필요한 상태를 보유합니다.

인스턴스화되면 IDMLCommandRecorder::RecordDispatch를 통해 명령 목록에 연산자 이니셜라이저의 디스패치를 기록할 수 있습니다. GPU에서 실행이 완료되면 이니셜라이저의 대상인 컴파일된 모든 연산자가 초기화된 상태로 들어갑니다.

연산자 이니셜라이저를 다시 사용하여 컴파일된 여러 연산자 집합을 초기화할 수 있습니다. 자세한 내용은 IDMLOperatorInitializer::Reset 을 참조하세요.

대상 연산자 없이 연산자 이니셜라이저를 만들 수 있습니다. 이러한 이니셜라이저를 실행하는 것은 아무 작업도 수행하지 않습니다. 대상 연산자가 없는 연산자 이니셜라이저를 만드는 것은 이니셜라이저를 미리 만들려는 경우 유용할 수 있지만 초기화하는 데 사용할 연산자는 아직 알 수 없습니다. IDMLOperatorInitializer::Reset 을 사용하여 대상으로 지정할 연산자를 다시 설정할 수 있습니다.

구문

HRESULT CreateOperatorInitializer(
                 UINT                 operatorCount,
  [in, optional] IDMLCompiledOperator * const *operators,
                 REFIID               riid,
  [out]          void                 **ppv
);

매개 변수

operatorCount

형식: UINT

이 매개 변수는 연산 자 매개 변수에 전달된 배열의 요소 수를 결정합니다.

[in, optional] operators

형식: IDMLCompiledOperator*

이 이니셜라이저가 대상으로 하는 연산자 집합을 포함하는 IDMLCompiledOperator 포인터의 상수 배열에 대한 선택적 포인터입니다. 이니셜라이저를 실행하면 대상 연산자가 초기화됩니다. 이 배열은 null이거나 비어 있을 수 있으며, 이는 이니셜라이저에 대상 연산자가 없음을 나타냅니다.

riid

형식: REFIID

ppv에서 반환하려는 인터페이스의 GUID(Globally Unique Identifier)에 대한 참조입니다. IDMLOperatorInitializer의 GUID가 될 것으로 예상됩니다.

[out] ppv

형식: void**

연산자 이니셜라이저에 대한 포인터를 수신하는 메모리 블록에 대한 포인터입니다. 생성된 연산자 이니 셜라이저를 나타내는 IDMLOperatorInitializer에 대한 포인터의 주소입니다.

반환 값

형식: HRESULT

메서드가 성공하면 S_OK를 반환하고, 성공하지 않으면 HRESULT 오류 코드를 반환합니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 directml.h
라이브러리 DirectML.lib
DLL DirectML.dll

추가 정보

IDMLDevice