MÉTHODE IDMLDevice ::CreateOperatorInitializer (directml.h)
Crée un objet qui peut être utilisé pour initialiser des opérateurs compilés.
Une fois compilé, un opérateur doit être initialisé exactement une fois sur le GPU avant de pouvoir être exécuté. L’initialiseur d’opérateur contient l’état nécessaire à l’initialisation d’un ou de plusieurs opérateurs compilés cibles.
Une fois instancié, la répartition de l’initialiseur de l’opérateur peut être enregistrée dans une liste de commandes via IDMLCommandRecorder ::RecordDispatch. Une fois l’exécution terminée sur le GPU, tous les opérateurs compilés qui sont des cibles de l’initialiseur passent à l’état initialisé.
Un initialiseur d’opérateur peut être réutilisé pour initialiser différents ensembles d’opérateurs compilés. Pour plus d’informations, consultez IDMLOperatorInitializer ::Reset .
Un initialiseur d’opérateur peut être créé sans opérateur cible. L’exécution d’un tel initialiseur est une opération sans opération. La création d’un initialiseur d’opérateur sans opérateur cible peut être utile si vous souhaitez créer un initialiseur à l’avance, mais que vous ne savez pas encore quels opérateurs il sera utilisé pour l’initialisation. IDMLOperatorInitializer ::Reset peut être utilisé pour réinitialiser les opérateurs à cibler.
Syntaxe
HRESULT CreateOperatorInitializer(
UINT operatorCount,
[in, optional] IDMLCompiledOperator * const *operators,
REFIID riid,
[out] void **ppv
);
Paramètres
operatorCount
Type : UINT
Ce paramètre détermine le nombre d’éléments du tableau passés dans le paramètre opérateurs .
[in, optional] operators
Type : IDMLCompiledOperator*
Pointeur facultatif vers un tableau constant de pointeurs IDMLCompiledOperator contenant l’ensemble d’opérateurs que cet initialiseur ciblera. Lors de l’exécution de l’initialiseur, les opérateurs cibles sont initialisés. Ce tableau peut être null ou vide, ce qui indique que l’initialiseur n’a pas d’opérateurs cibles.
riid
Type : REFIID
Référence à l’identificateur global unique (GUID) de l’interface que vous souhaitez retourner dans ppv. Il s’agit normalement du GUID d’IDMLOperatorInitializer.
[out] ppv
Type : void**
Pointeur vers un bloc de mémoire qui reçoit un pointeur vers l’initialiseur de l’opérateur. Il s’agit de l’adresse d’un pointeur vers un IDMLOperatorInitializer, représentant l’initialiseur d’opérateur créé.
Valeur retournée
Type : HRESULT
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Spécifications
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | directml.h |
Bibliothèque | DirectML.lib |
DLL | DirectML.dll |