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 |