IDMLOperatorInitializer 接口 (directml.h)

表示一个专用对象,其用途是初始化已编译的运算符。 若要创建此对象的实例,请调用 IDMLDevice::CreateOperatorInitializerIDMLOperatorInitializer 接口继承自 IDMLDispatchable

运算符初始值设定项与一个或多个已编译运算符相关联,这些运算符是初始化的目标。 可以使用 IDMLCommandRecorder::RecordDispatch 将运算符初始化记录到命令列表上。 当初始化在 GPU 上完成执行时,所有目标运算符都进入初始化状态。 必须先初始化所有运算符一次,然后才能执行这些运算符。

继承

IDMLOperatorInitializer 接口继承自 IDMLDispatchable 接口。

方法

IDMLOperatorInitializer 接口包含以下方法。

 
IDMLOperatorInitializer::Reset

重置初始值设定项以处理一组新运算符的初始化。

备注

运算符初始值设定项可重复使用:使用实例初始化一组运算符后,可以使用一组不同的已编译运算符作为目标对其进行重置。

执行初始值设定项时,预期绑定如下所示:

  • 输入应是每个目标运算符的一个缓冲区数组绑定,按照创建或重置初始值设定项时最初指定运算符的顺序。 每个缓冲区数组绑定本身的大小应等于其相应运算符的输入。 或者,你可以为绑定指定 NONE,以便不绑定任何用于初始化该目标运算符的输入。
  • 输出应是每个目标运算符的持久资源,按照创建或重置初始值设定项时最初指定运算符的顺序。
  • 与任何可调度对象 (运算符初始值设定项或编译运算符) 一样,初始值设定项可能需要临时资源。 调用 IDMLDispatchable::GetBindingProperties 以确定临时资源所需的大小。
  • 运算符初始值设定项永远不需要持久性资源。 因此,对运算符初始值设定项调用 IDMLDispatchable::GetBindingProperties 始终返回 0 的 PersistentResourceSize

运算符初始值设定项本身不需要初始化 - GPU 初始化仅适用于已编译的运算符。

要求

   
目标平台 Windows
标头 directml.h

另请参阅

DirectML 中的绑定

IDMLDispatchable